Skip to content

chore: release ATS 4.3.0#858

Open
jaime-iobermudez wants to merge 69 commits intomainfrom
feat/v4.3.0-ats
Open

chore: release ATS 4.3.0#858
jaime-iobermudez wants to merge 69 commits intomainfrom
feat/v4.3.0-ats

Conversation

@jaime-iobermudez
Copy link
Contributor

Description

This pull request introduces several enhancements and improvements to the ATS Web App, focusing on bond tokenization features, UI/UX enhancements, and developer experience. The most significant changes include the addition of a comprehensive bond tokenization SDK, UI improvements with a loading overlay and fill form button, updated ESLint configuration for maintainability, and improvements to workflow and dependency management.

Bond Tokenization Features

  • Implemented a comprehensive bond tokenization SDK with KPI-linked rates, coupon management, and enhanced RPC/Hedera transaction adapters. This includes new commands for bond creation, rate management, KPI data infrastructure, and scheduled coupon distribution. (apps/ats/web/CHANGELOG.md apps/ats/web/CHANGELOG.mdR3-R20)

UI/UX Enhancements

  • Added a loading overlay component (ProgressOverlay) to the security details page, including snapshot and unit tests, and updated i18n strings for progress steps. (apps/ats/web/src/components/ProgressOverlay.tsx [1] apps/ats/web/src/components/__tests__/ProgressOverlay.test.tsx [2] apps/ats/web/src/components/__tests__/__snapshots__/ProgressOverlay.test.tsx.snap [3] apps/ats/web/src/i18n/en/security/details.ts [4]
  • Added a "Fill with example data" button to the create bond and equity security forms, including i18n support and UI updates. (apps/ats/web/src/views/CreateBond/Components/StepTokenDetails.tsx [1] [2] apps/ats/web/src/i18n/en/security/createBond.ts [3] apps/ats/web/src/i18n/en/security/equity/create.ts [4] apps/ats/web/src/views/CreateBond/__tests__/__snapshots__/CreateBond.test.tsx.snap [5]

Developer Experience & Code Quality

  • Refactored ESLint configuration to use @hashgraph/eslint-config presets for base, React, and Jest, simplifying and standardizing linting rules. (apps/ats/web/eslint.config.mjs apps/ats/web/eslint.config.mjsL1-R24)
  • Updated package.json to use new linting scripts and added @hashgraph/eslint-config as a dev dependency. (apps/ats/web/package.json [1] [2]

Workflow & Dependency Management

  • Updated workflow YAML files for deployment tests, improving readability and maintainability. (.github/workflows/102-flow-ats-deployment-test.yaml [1] [2]
  • Added legacy-peer-deps=true to .npmrc to resolve dependency issues during install. (.npmrc .npmrcR2)

Form Handling Improvements

These changes collectively enhance the functionality, usability, and maintainability of the ATS Web App.

Type of change

  • Bug fix 🐞
  • New feature ✨
  • Breaking change 💥
  • Documentation update 📖
  • Refactor 🔧

Testing

Node version:

  • 20
  • 22
  • 24

Checklist

  • Style Guidelines followed ✅
  • Documentation Updated 📚
  • Linters - No New Warnings ⚠️
  • Local Tests Pass ✅
  • Effective Tests Added ✔️
  • No reduction of Coverage

themariofrancia and others added 30 commits January 23, 2026 08:50
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
….ts`

Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
…ge cases and improve safety

Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
…andle edge cases and improve safety"

This reverts commit ba6cb33.

Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Alberto Molina <alberto@io.builders>
Co-authored-by: Alberto Molina <alberto@io.builders>
Signed-off-by: Alberto Molina <alberto@io.builders>
Signed-off-by: Alberto Molina <alberto@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
- Enhanced commit-msg hook to verify/auto-add DCO sign-off
- Added pre-push hook as final gate requiring both DCO + GPG
- Created setup-git.sh script for developer onboarding
- Updated CONTRIBUTING.md with setup instructions

The enforcement layers:
1. pre-commit: lint-staged for code quality
2. commit-msg: DCO verification + auto-addition + commitlint
3. pre-push: blocks push without DCO + GPG signatures

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Reorganize the monolithic registry generator into a well-structured module
with clear separation of concerns:

Core Components:
- extractor.ts: Contract metadata extraction from artifacts
- scanner.ts: Filesystem scanning and contract discovery
- generator.ts: Code generation logic (formerly registryGenerator.ts)
- pipeline.ts: Main generation orchestration
- types.ts: Centralized type definitions

Utilities:
- abiExtractor: ABI parsing and extraction
- fileUtils: File I/O operations
- logging: Structured logging
- solidityParser: Comprehensive Solidity parser avoiding TypeChain

Benefits:
- Eliminated 6+ second TypeChain import overhead
- Improved maintainability with single-responsibility modules
- Better testability with isolated concerns
- Flexible caching support via --use-cache flag
- New npm script: npm run generate:registry:cached

Infrastructure:
- Updated barrel exports (index.ts files)
- Cleaned up atsRegistry.data.ts (removed unused exports)
- Updated CLI entry point with improved argument parsing
- Enhanced logging capabilities
- Updated integration tests

Removed:
- Old generateRegistry.ts monolithic entry point
- Duplicated operations from infrastructure layer

Reorganized files:
- scripts/tools/generators/registryGenerator.ts →
  registry-generator/core/generator.ts
- scripts/infrastructure/operations/generateRegistryPipeline.ts →
  registry-generator/pipeline.ts

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Migrate from ts-node with tsconfig-paths/register to tsx for faster,
simpler TypeScript script execution. Remove redundant ts-node configuration
from tsconfig.json since tsx handles path aliases natively.

Changes:
- packages/ats/contracts/package.json: Replace all ts-node invocations
  with tsx in CLI entry points (deploy*, upgrade*, generate:registry)
- packages/ats/contracts/tsconfig.json: Remove ts-node configuration block
- package.json: Add convenience scripts for contracts utilities exposed at
  root level (test:scripts:unit:parallel, test:scripts:integration:parallel,
  upgrade:previewnet, generate:registry, local:hardhat, size, slither, doc)

Benefits:
- Faster script execution with tsx (no tsconfig-paths dependency)
- Simpler configuration (one less configuration block)
- Better IDE integration and debugging support
- Scripts available directly from monorepo root for convenience

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
The pre-push hook was incorrectly rejecting commits that had valid GPG
signatures but whose public keys were not in the local keyring. This
caused pushes to fail when rebasing from branches with commits signed
by other team members.

Changed from `git verify-commit` (requires public key) to
`git log --format=%G?` which checks if a signature EXISTS without
requiring verification. The hook now accepts any signature status
except 'N' (no signature).

Signed-off-by: Miguel Carpena <miguel.carpena@io.builders>
Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: Alberto Molina <alberto@io.builders>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Alberto Molina <alberto@io.builders>
Signed-off-by: Luigi Navarro <luigi@io.builders>
Signed-off-by: Luigi Navarro <luigi@io.builders>
- Updated @typechain/ethers-v5 from 10.2.1 to ^11.1.2 for improved type
  generation
- Updated @typechain/hardhat from ^6.1.2 to ^6.1.6 for bug fixes and
  compatibility
- Updated override constraint for @typechain/ethers-v5 to maintain version
  consistency
- Added new npm script 'test:scripts:unit:coverage' to generate coverage
  reports for scripts directory with c8

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
@hedera-eng-infrastructure
Copy link

hedera-eng-infrastructure commented Feb 27, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

luigi-io and others added 20 commits February 27, 2026 11:28
Signed-off-by: Luigi Navarro <luigi@io.builders>
Signed-off-by: Luigi Navarro <luigi@io.builders>
Signed-off-by: Luigi Navarro <luigi@io.builders>
- Adopt Hiero naming convention (ddd-xxxx-name.yaml) with structured workflow names
- Standardize bash syntax: [[ ]] double brackets, == comparisons, ${VAR} braces
- Fix $GITHUB_OUTPUT quoting and ${{ always() }} expression syntax
- Simplify PR formatting triggers and fix assignee check security
- Delete obsolete backup workflow files
- Update cross-references in README.md, ci-cd-workflows.md, and CLAUDE.md
- Add GitHub Actions Workflow Standards section to CLAUDE.md

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Replace legacy numeric timestamps with ISO format (YYYY-MM-DDTHH-MM-SS-sss)
in all documentation, JSDoc, and CLI help text. Update newBlr workflow step
counts from 8 to 10 to reflect Bond Fixed Rate, KPI Linked Rate, and SPT
Rate configuration steps.

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Signed-off-by: Marcos Serradilla Diez <marcos@io.builders>
Signed-off-by: Marcos Serradilla Diez <marcos@io.builders>
Add automated CI deployment testing and apply security/reliability
improvements across all GitHub Actions workflows.

Deployment Testing:
- New 100-flow-ats-deployment-test.yaml with Hardhat + Hiero Solo jobs
- Shared build job with dependency and artifact caching
- Hiero Solo integration via hiero-solo-action v0.16.0
- Docker availability check for graceful Solo job skipping

Workflow Hardening:
- Upgrade actions/checkout v4.2.2 → v5.0.0 across all workflows
- Pin actions/cache to v4.2.3 with commit SHA
- Add timeout-minutes to all jobs (5/15/45 min by type)
- Add defaults.run.shell: bash and concurrency controls
- Add codecov action version annotation
- Update npm to 11.7.0 in mass-payout publish

Script Improvements:
- Replace 195 parallel RPC calls with synchronous registry lookups
- Wrap signer with NonceManager for nonce caching prevention
- Add timing output to registry generation task
- Fix ethers v6 API in diamondCutManager test
- Add selector conflict validation test

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
… adjustBalances (#842)

Signed-off-by: Marcos Serradilla Diez <marcos@io.builders>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: rbermejo <ruben@io.builders>
Signed-off-by: Alberto Molina <alberto@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Signed-off-by: Miguel Carpena <miguel.carpena@io.builders>
Signed-off-by: Ruben Martinez <ruben.martinez@io.builders>
Signed-off-by: adrian <adrian@io.builders>
Signed-off-by: Marcos Serradilla Diez <marcos@io.builders>
Co-authored-by: Alberto Molina <alberto@io.builders>
Co-authored-by: jaime-iobermudez <jaime.bermudez@io.builders>
Co-authored-by: Miguel_LZPF <miguel.carpena@io.builders>
Co-authored-by: Ruben Martinez <ruben.martinez@io.builders>
Co-authored-by: adrian <adrian@io.builders>
Co-authored-by: Marcos Serradilla Diez <marcos@io.builders>
Signed-off-by: Ruben Martinez <ruben.martinez@io.builders>
Signed-off-by: Alberto Molina <alberto@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Signed-off-by: Miguel Carpena <miguel.carpena@io.builders>
Signed-off-by: Ruben Martinez <ruben.martinez@io.builders>
Signed-off-by: adrian <adrian@io.builders>
Signed-off-by: Marcos Serradilla Diez <marcos@io.builders>
Co-authored-by: Alberto Molina <alberto@io.builders>
Co-authored-by: jaime-iobermudez <jaime.bermudez@io.builders>
Co-authored-by: Miguel_LZPF <miguel.carpena@io.builders>
Co-authored-by: Ruben Martinez <ruben.martinez@io.builders>
Co-authored-by: adrian <adrian@io.builders>
Co-authored-by: Marcos Serradilla Diez <marcos@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: Axel-IoBuilders <108282711+Axel-IoBuilders@users.noreply.github.com>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants