Skip to content

chore:release -#799

Draft
themariofrancia wants to merge 64 commits intomainfrom
development
Draft

chore:release -#799
themariofrancia wants to merge 64 commits intomainfrom
development

Conversation

@themariofrancia
Copy link
Contributor

Description

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 14 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>
@hedera-eng-infrastructure
Copy link

hedera-eng-infrastructure commented Jan 26, 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.

jaime-iobermudez and others added 2 commits January 26, 2026 15:42
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>
@themariofrancia themariofrancia changed the title Development chore:release - Jan 27, 2026
AlbertoMolinaIoBuilders and others added 11 commits January 27, 2026 16:22
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>
MiguelLZPF and others added 30 commits February 3, 2026 08:11
Restructure scripts test suite to improve clarity and maintainability:

Test Organization:
- Move infrastructure/checkpoint/config tests from unit/ to integration/
  (these require Hardhat fixtures and external dependencies)
- Create unit/domain/factory/ for factory-specific unit tests
- Separate pure unit tests from integration tests by directory structure

New Unit Test Coverage:
- deploy.test.ts: Factory deploy function behavior and error handling
- deployBondToken.test.ts: Bond token deployment configurations (457 lines)
  - Bond variants (fixed-rate, floating-rate, perpetual)
  - Configuration ID and version handling
  - Coupon settings and maturity dates
- deployEquityToken.test.ts: Equity token deployment configurations (455 lines)
  - Equity variants and configurations
  - Configuration ID and version handling
- deployBondVariants.test.ts: Bond variant selection logic (583 lines)
  - Dynamic selection based on interest type
  - Coupon frequency and maturity validation
- mockFactories.ts: Shared test fixtures and mock implementations (470 lines)

Test Infrastructure Improvements:
- Update test helpers constants.ts with comprehensive organization (939 lines)
  - Add 6-section documentation with clear category grouping
  - Add TEST_STANDARD_CONTRACTS constants (AccessControlFacet, PauseFacet, etc.)
  - Add TEST_FACET_NAMES for facet identity tests
  - Add TEST_TIME_TRAVEL_VARIANTS for TimeTravel facet variants
  - Add TEST_DIRS for path-based operations
  - Extend TEST_ADDRESSES with NO_CODE_ALT for additional coverage

Test Runner Configuration:
- Switch unit tests from Hardhat to Mocha for faster execution
  (unit tests don't need Hardhat, reducing initialization overhead)
- Update test:scripts:unit* scripts to use Mocha with tsx
- Maintain 10-second timeout for script operations
- Keep integration tests on Hardhat for fixture support

Utility Test Updates:
- Update facetDeployment.test.ts to use TEST_STANDARD_CONTRACTS
- Update deploymentFiles.test.ts with improved test data
- Update naming.test.ts for better constant reusability

Documentation:
- Add Testing section to scripts/README.md with test structure overview
- Document unit vs integration test distinction
- Add examples of test constants usage
- Include running tests commands with parallel options

Benefits:
- Clear separation of pure unit tests from integration tests
- Factory logic thoroughly tested with 2,072 lines of new test code
- Faster test execution with Mocha for unit tests
- Centralized test constants reduce magic strings and improve maintainability
- Comprehensive documentation for test organization

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Rename test/contracts/unit/ to test/contracts/integration/ to better reflect
test classification. These tests deploy real contracts to Hardhat's EVM and test
contract interactions, making them integration tests rather than true unit tests.

Updated all related package.json test scripts to reference the new integration
path for consistency across the codebase.

Changes:
- Moved 52 test files from unit/ to integration/ directory
- Updated 8 npm test script references in package.json
- Maintains all test functionality and import paths

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: Luigi Navarro <luigi@io.builders>
Consolidates repeated test setup patterns into reusable helpers:

- Created testSetup.ts with silenceScriptLogging() to replace direct
  configureLogger calls across all integration tests
- Added checkpoint cleanup hook factory (createCheckpointCleanupHooks)
  to eliminate 30+ lines of duplicated cleanup logic in upgradeTupProxies
- Added centralized test constants (EIP1967_SLOTS, TEST_GAS_LIMITS,
  TEST_INIT_VALUES) replacing inline test-specific constants
- Reorganized imports in all integration tests for clarity (infrastructure →
  domain → test helpers → contract types)

Benefits:
- Reduces code duplication (~100 lines eliminated)
- Improves test maintainability through shared utilities
- Standardizes test setup patterns across all test files
- Makes tests easier to extend with new logging/cleanup needs

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
…te magic numbers

Adds TEST_DELAYS and TEST_OPTIONS constants to test/helpers/constants.ts:
- TEST_DELAYS.SHORT (5ms) and TEST_DELAYS.MEDIUM (10ms) for timing operations
- TEST_OPTIONS.CONFIRMATIONS_HARDHAT (0) for Hardhat transaction confirmations

Updates all integration tests to use the new constants:
- CheckpointManager.test.ts: 9 instances of hardcoded 5/10ms delays
- upgradeTupProxies.test.ts: 20 instances of confirmations: 0
- updateResolverProxyConfig.test.ts: 17 instances of confirmations: 0

Fixes TypeScript type errors in CheckpointManager.test.ts:
- Adds `as string` type assertions for TEST_ADDRESSES and TEST_TX_HASHES
- Ensures strict type checking compliance

Reclassifies atsRegistry.data.test.ts from integration to unit directory:
- Moves test/scripts/integration/domain/atsRegistry.data.test.ts
- To test/scripts/unit/domain/atsRegistry.data.test.ts
- Test validates data structure, not integration behavior

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
…output types

- Added root-level npm scripts for scripts test coverage commands
  - ats:contracts:test:scripts:coverage
  - ats:contracts:test:scripts:unit:coverage
  - ats:contracts:test:scripts:integration:coverage
- Updated scripts test commands to use --no-compile flag for improved performance
- Consolidated deployment output types to use centralized DeploymentOutputType from infrastructure
  - Updated checkpoint/utils.ts to import from infrastructure barrel
  - Removed redundant type export from deploySystemWithNewBlr.ts
  - Improves type consistency across workflow modules
- Formatted package.json for better readability (multi-line arrays)
- Added SPDX license header to deploySystemWithNewBlr.ts

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Signed-off-by: Mario Francia <mariofranciarius@gmail.com>
Signed-off-by: jaime-iobermudez <jaime.bermudez@io.builders>
Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
…ilities

- Centralize deployment/checkpoint path management in new paths.ts module
- Add retry utility with exponential backoff for transient network failures
- Implement checkpoint schema versioning (v2) with migration support
- Add findResumableCheckpoints() and prepareForResume() to CheckpointManager
- Centralize WORKFLOW_STEPS definitions as single source of truth for step names/counts
- Add user confirmation functions for checkpoint resume orchestration
- Add failure injection testing module for reproducible recovery testing
- Fix hedera-local chain ID (1337 -> 298)
- Remove accidentally committed deployment artifact
- Update .gitignore for test/local deployment directories

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
…add CLI management tool

- Add dynamic step counting with getTotalSteps() across all deployment workflows
- Replace custom resume detection with centralized resolveCheckpointForResume()
- Fix step boundary conditions in existingBlr workflow for correct resume behavior
- Add checkpoint CLI with list/show/delete/cleanup/reset commands
- Add npm scripts for all checkpoint CLI commands
- Remove ts-node dependency in favor of tsx
- Increase Node.js memory for TypeScript builds (--max-old-space-size=8192)

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
…cumentation

- Add unit tests for user confirmation prompts and checkpoint resume selection
- Add unit tests for failure injection module parsing and step/facet targeting
- Add unit tests for retry utility with exponential backoff
- Enhance CheckpointManager integration tests with resume and schema migration coverage
- Expand checkpoint resumability integration tests with failure injection scenarios
- Update test helpers with centralized path management and millisecond timestamps
- Add comprehensive CHECKPOINT_GUIDE.md with scenarios, state diagrams, and troubleshooting
- Update DEVELOPER_GUIDE.md and README.md with checkpoint system documentation

Signed-off-by: Miguel_LZPF <miguel.carpena@io.builders>
Signed-off-by: Luigi Navarro <luigi@io.builders>
Signed-off-by: Luigi Navarro <luigi@io.builders>
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: 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: rbermejo <ruben@io.builders>
Signed-off-by: Axel-IoBuilders <108282711+Axel-IoBuilders@users.noreply.github.com>
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.

10 participants