Fixes, Testing, and Deployment Tasks (Including All Optional)
Single checklist for fixes, testing, and deployment (required and optional). Use for pre-release, CI, and operator runbooks.
Completion status (summary)
| Area |
Done in-repo |
Operator / environment |
| Fixes |
✅ emoney build fixed (stubs; script/emoney and test/emoney + test/vault/Vault.t.sol .bak). ✅ DODOPMMIntegration.t.sol restored. ✅ MultiChainBridge.t.sol restored (proxy deploy, proposeAsset/vote/execute, MockCCIPRouter, cancel/XDC/XRPL fixes; 8/8 tests pass). ✅ WETH9 decimals documented. forge build passes. |
Optional: full emoney impl + restore .bak scripts per BAK_FILES_DEPRECATION. |
| Testing |
✅ Full forge test (ex. emoney): 423 tests, 80 suites pass. ✅ Channel tests + gas report. ✅ Token-aggregation npm test. ✅ Relay services/relay/test.js. |
Run load/E2E and validation scripts when RPC/env available. |
| Deployment |
✅ Prerequisites, order, optional tasks, and orchestration scripts are documented below and in linked runbooks. |
Run deploy scripts with funded wallet and RPC (see §3–§5). |
| Post-deployment |
— |
Update .env and config, run verify scripts (see §5). |
1. Fixes
1.1 Critical — Restore full forge build
| Task |
Description |
Reference |
| Fix missing emoney contracts |
DONE: Minimal stubs added under contracts/emoney/ (interfaces: IeMoneyToken.sol, ITokenFactory138.sol, IAccountWalletRegistry.sol; stubs: TokenFactory138.sol, PolicyManager.sol, ComplianceRegistry.sol, BridgeVault138.sol). Scripts script/emoney/DeployChain138.s.sol, Configure.s.sol, Deploy.s.sol, VerifyDeployment.s.sol and all test/emoney/**/*.t.sol plus test/vault/Vault.t.sol renamed to .bak so the main build compiles. Full emoney implementation can replace stubs; then restore scripts/tests. See BAK_FILES_DEPRECATION.md. |
STATUS_AND_TOKEN_ROUTING.md, COMPILATION_STATUS.md |
1.2 Resolved / documented (no action unless changing code)
| Item |
Status |
Notes |
| Import path and naming fixes |
Done |
IRouterClient, IChainAdapter paths; bridge → universalBridge; validateDestination → this.validateDestination; UniversalCCIPBridge payable; DODOPMMProvider swap routing. See COMPILATION_STATUS.md. |
| InitializeBridgeSystem.s.sol conflict |
Documented |
Identifier conflict in trustless bridge script; optional for current deployment. See TASK13_COMPILATION_ISSUE_RESOLUTION.md. |
| .bak exclusions |
Documented |
Some scripts/tests are .bak to allow forge build/forge test; restore when deps fixed. See BAK_FILES_DEPRECATION.md. |
1.3 Optional / follow-up fixes
| Task |
Description |
| Restore DODOPMMIntegration.t.sol test |
DONE. Test restored; fixed vm.mockCall(dvm, bytes(""), ...) and removed redundant grantRole. |
| Restore MultiChainBridge.t.sol |
DONE. Restored; MockCCIPRouter, cancel-bridge flow, XDC convertXdcToEth fix, XRPL recipientData; 8/8 tests pass. |
| WETH9 decimals display |
Documented: WETH9 decimals() returns 0 on-chain, so MetaMask can show e.g. "6,000,000,000.0T WETH" instead of "6 WETH". Workaround: use token list with decimals 18 (e.g. metamask-integration/docs/METAMASK_TOKEN_LIST.json) or manual token import with decimals 18. Host token list for auto-discovery. See PHASE4_POST_DEPLOYMENT_TESTING.md §4.3. |
2. Testing tasks
2.1 Contract tests (Foundry)
| Task |
Command |
Scope |
| Run all contract tests |
forge test |
Full suite (blocked if build fails; run after emoney fix or with excluded paths). |
| Run with gas report |
forge test --gas-report |
Gas usage per test. |
| Run vault tests |
forge test --match-path 'test/vault/*.t.sol' or pnpm run forge:test:vault |
Ledger, XAUOracle, Liquidation, Vault. |
| Run ISO4217W tests |
forge test --match-path 'test/iso4217w/*.t.sol' or pnpm run forge:test:iso |
W tokens, ComplianceGuard, Mint/Burn controllers. |
| Run bridge/trustless tests |
forge test --match-path 'test/bridge/trustless/**/*.t.sol' |
BondManager, ChallengeManager, InboxETH, PegManagers, Stabilizer. |
| Run reserve tests |
forge test --match-path 'test/reserve/*.t.sol' |
ReserveSystem, OraclePriceFeed. |
| Run CCIP tests |
forge test --match-path 'test/CCIP*.t.sol' or test/ccip/*.t.sol |
CCIP bridges. |
| Run channel tests |
forge test --match-path 'test/channels/*.t.sol' |
PaymentChannelManager. |
| Run quick smoke |
pnpm run forge:test:quick |
LedgerTest only. |
Note: If forge build fails due to emoney, run tests only for contracts that compile (e.g. exclude emoney via --match-path or fix build first).
2.2 Integration / load / health tests
| Task |
Command / script |
Description |
| Health check |
./tests/health-check.sh |
Service health. |
| Load test (general) |
./tests/load-test.sh |
Load testing. |
| RPC load test |
./tests/load-test-rpc.sh |
RPC endpoint. |
| Oracle load test |
./tests/load-test-oracle.sh |
Oracle. |
| CCIP load test |
./tests/load-test-ccip.sh |
CCIP. |
| Production load test |
./tests/load-test-production.sh |
Production-style load. |
| E2E (tests/e2e) |
cd tests/e2e && npm test |
E2E suite. |
| Playwright |
npx playwright test |
Frontend/E2E. |
| MetaMask integration |
tests/metamask-integration.test.ts |
MetaMask integration tests. |
2.3 Validation scripts (pre/post deploy)
| Task |
Script |
Description |
| Validate deployment config |
./scripts/deployment/validate-deployment-config.sh |
Config consistency. |
| Validate genesis |
./scripts/validation/validate-genesis.sh |
Genesis file. |
| Validate RPCs |
./scripts/deployment/verify-all-rpcs.sh |
All RPC endpoints in .env. |
| Validate config files |
./scripts/validation/validate-config-files.sh |
Config validation. |
| Check contracts on Chain 138 |
./scripts/verify/check-contracts-on-chain-138.sh |
On-chain contract check. |
| Verify contracts Blockscout |
./scripts/verify-contracts-blockscout.sh |
Explorer verification. |
| E2E verification routing |
./scripts/verify/verify-end-to-end-routing.sh |
Routing verification. |
2.4 Token-aggregation and other services
| Task |
Command |
Description |
| Token-aggregation tests |
cd services/token-aggregation && npm test |
API and indexer tests. |
| Relay tests |
cd services/relay && npm test |
Relay service tests. |
2.5 Optional / recommended testing
3. Deployment tasks (required)
3.1 Prerequisites
| Task |
Description |
| .env configured |
PRIVATE_KEY, RPC_URL_138, ETHEREUM_MAINNET_RPC, per-chain RPC and CCIP vars. See ALL_MAINNETS_DEPLOYMENT_RUNBOOK.md, PREREQUISITES.md. |
| Balances and gas |
Run scripts/deployment/check-balances-gas-and-deploy.sh (deployer has ETH and optionally LINK). |
| Ensure prerequisites script |
scripts/deployment/ensure-prerequisites.sh from smom-dbis-138. |
3.2 Core deployment order (Chain 138 + mainnets)
| Order |
Task |
Script / command |
Chain(s) |
| 1 |
Deploy core (CREATE2, bridges, etc.) |
script/deploy/01_DeployCore.s.sol, 02_DeployBridges.s.sol (or equivalent) |
138 |
| 2 |
Deploy Trustless Bridge |
forge script script/bridge/trustless/DeployTrustlessBridge.s.sol |
138 (Lockbox) + Mainnet (BondManager, ChallengeManager, LP, InboxETH, SwapRouter, Coordinator) |
| 3 |
Deploy Oracle |
forge script script/DeployOracle.s.sol |
138 (primary); optional others |
| 4 |
Deploy AddressMapper (138) |
forge script script/DeployAddressMapper.s.sol |
138 |
| 5 |
Deploy AddressMapperEmpty (others) |
forge script script/DeployAddressMapperOtherChain.s.sol |
Ethereum, BSC, Polygon, Base, Arbitrum, Optimism, Avalanche, Cronos, Gnosis |
| 6 |
Deploy Reserve System |
forge script script/reserve/DeployReserveSystem.s.sol |
138 |
| 7 |
Configure price feeds |
forge script script/reserve/SetupPriceFeeds.s.sol |
138 |
| 8 |
Deploy CCIP bridges (other chains) |
forge script script/DeployAll.s.sol per chain |
BSC, Polygon, Base, Arbitrum, Optimism, Avalanche, Cronos, Gnosis |
| 9 |
Configure bridge destinations |
Add destination per bridge (addDestination); fund LINK. See CCIP_BRIDGE_DESTINATIONS_AND_LINK_FUNDING.md. |
All |
| 10 |
Update config |
Update .env, config/smart-contracts-master.json with deployed addresses. |
— |
Orchestrator: scripts/deployment/deploy-all-mainnets-with-mapper-oracle-pmm.sh (run order: core, trustless, oracle, mapper, reserve, pmm when env set).
Trustless bridge phased flow (optional alternative): Use ./scripts/deployment/deploy-all-phases.sh for interactive phases 1–10: (1) env setup, (2) deploy core, (3) deploy Enhanced Router, (4) deploy integration contracts, (5) initialize system, (6) provide liquidity, (7) configure access control, (8) deploy backend services, (9) deploy frontend, (10) verify. See bridge/trustless/DEPLOYMENT_AUTOMATION.md.
3.3 PMM (Chain 138)
| Task |
Script / command |
Prereq |
| Deploy DODOPMMIntegration |
forge script script/dex/DeployDODOPMMIntegration.s.sol or deploy-all-mainnets-with-mapper-oracle-pmm.sh pmm |
DODO_VENDING_MACHINE_ADDRESS, COMPLIANT_USDT_ADDRESS, COMPLIANT_USDC_ADDRESS |
| Create cUSDT/USDT and cUSDC/USDC pools |
Call createCUSDTUSDTPool, createCUSDCUSDCPool on integration |
DODOPMM_INTEGRATION_ADDRESS |
| (Optional) XAU-anchored pools |
forge script script/dex/DeployPrivatePoolRegistryAndPools.s.sol |
XAU_ADDRESS_138, DODOPMM_INTEGRATION_ADDRESS |
3.4 Vault system (Chain 138)
| Task |
Script |
| Deploy Vault system |
forge script script/deploy/vault/DeployVaultSystem.s.sol |
| Deploy Reserve Keeper |
forge script script/reserve/DeployKeeper.s.sol (optional; after ReserveSystem) |
4. Deployment tasks (optional)
4.1 Optional — CCIP and logging
| Task |
Description |
Script / ref |
| Deploy CCIPLogger per chain |
Optional for basic bridge operation. |
scripts/deployment/deploy-ccip-logger-all-chains.sh or Hardhat npm run deploy:logger:mainnet; ALL_MAINNETS_DEPLOYMENT_RUNBOOK.md § Remaining gaps. |
| Fund bridges with LINK |
Required for CCIP fees; run when deployer has LINK. |
scripts/deployment/fund-ccip-bridges-with-link.sh; CCIP_BRIDGE_DESTINATIONS_AND_LINK_FUNDING.md. |
4.2 Optional — Trustless bridge full stack
| Task |
Description |
Script / ref |
| Deploy EnhancedSwapRouter |
Multi-protocol swap router for swap+bridge+swap. |
script/bridge/trustless/DeployEnhancedSwapRouter.s.sol |
| Deploy integration contracts |
StablecoinPegManager, CommodityPegManager, ISOCurrencyManager, BridgeReserveCoordinator. |
script/bridge/trustless/DeployIntegrationContracts.s.sol |
| Initialize bridge system |
Post-deploy initialization. |
Fix/resolve InitializeBridgeSystem.s.sol if needed; TASK13_COMPILATION_ISSUE_RESOLUTION.md. |
4.3 Optional — Deterministic core and multichain
| Task |
Description |
Script / ref |
| Deploy deterministic core (Chain 138) |
CREATE2Factory, UniversalAssetRegistry, UniversalCCIPBridge (proxy), MirrorRegistry, AlltraAdapter. |
script/deploy/DeployDeterministicCore.s.sol; OPTIONAL_FUTURE_DEPLOYMENTS_RUNBOOK.md §3. |
| DeployAll to additional chains |
WETH9, WETH10, CCIP bridges, CCIPLogger to Cronos, BSC, Polygon, etc. |
script/DeployAll.s.sol per chain. |
| AddressMapper on other chains |
Empty mapper for config/smart-contracts-master.json. |
script/DeployAddressMapperOtherChain.s.sol; runbook §0. |
4.4 Optional — eMoney, smart accounts, channels
| Task |
Description |
Script / ref |
| Deploy eMoney (Chain 138) |
ComplianceRegistry, DebtRegistry, PolicyManager, eMoneyToken, TokenFactory138, BridgeVault138, etc. |
script/emoney/DeployChain138.s.sol (after emoney contracts are restored to build). OPTIONAL_FUTURE_DEPLOYMENTS_RUNBOOK.md §6. |
| Smart accounts + Paymaster |
EntryPoint, AccountFactory, Paymaster; then AccountWalletRegistryExtended. |
script/smart-accounts/DeploySmartAccountsKit.s.sol, DeployAccountWalletRegistryExtended.s.sol; runbook §7. |
| PaymentChannelManager |
Payment channels. |
script/DeployPaymentChannelManager.s.sol; PAYMENT_CHANNELS_DEPLOYMENT.md. |
| GenericStateChannelManager |
State channels (stateHash). |
script/DeployGenericStateChannelManager.s.sol. |
4.5 Optional — Vault extensions and ac/vdc/sdc
| Task |
Description |
Script / ref |
| Deploy ac/vdc/sdc vaults |
Additional vault deployments. |
script/deploy/vault/DeployAcVdcSdcVaults.s.sol (optional env: OWNER, ENTITY). |
| ISO4217W system |
W-token factory and registry. |
script/deploy/iso4217w/DeployISO4217WSystem.s.sol (if not already done). |
4.6 Optional — Cronos / other chain specifics
4.7 Optional — Services and frontend
| Task |
Description |
Ref |
| State anchoring service |
Off-chain service. |
NEXT_STEPS_EXECUTION_STATUS.md. |
| Transaction mirroring service |
Off-chain service. |
TASK3_TRANSACTION_MIRRORING_SERVICE.md. |
| Token-aggregation deployment |
Run and expose report/quote/bridge APIs. |
services/token-aggregation README, deploy-to-vmid.sh. |
| Relay deployment |
CCIP relay (Mainnet). |
services/relay README, DeployCCIPRelay.s.sol. |
| Phase 8–10 (backend, frontend, verify) |
Backend services, frontend, verification. |
DEPLOYMENT_AUTOMATION.md phase8–10. |
4.8 Optional — Mirror and two-way bridge
5. Post-deployment (required and optional)
| Task |
Script / action |
| Update .env |
All new contract addresses. |
| Update config/smart-contracts-master.json |
Mapper and key addresses per chain. |
| On-chain check (Chain 138) |
./scripts/verify/check-contracts-on-chain-138.sh. |
| Blockscout verification |
./scripts/verify/run-contract-verification-with-proxy.sh (from LAN). |
| Set DODOPMMIntegration.setReserveSystem |
If using oracle-backed PMM price; DODO_PMM_INTEGRATION.md. |
| Set CHAIN_138_DODO_PMM_INTEGRATION |
For token-aggregation pool indexer and report API. |
| Token-aggregation: run indexer |
Ensure pool/token indexer runs (cron or on-demand) so report endpoints include PMM pools. |
6. Orchestration scripts (summary)
| Script |
Purpose |
scripts/deployment/deploy-all-phases.sh |
Interactive phase-by-phase (phase1–10). |
scripts/deployment/deploy-all-mainnets-with-mapper-oracle-pmm.sh |
Core, trustless, oracle, mapper, reserve, pmm (when env set). |
scripts/deployment/deploy-optional-future-all.sh |
All “optional/future” deployments in order; supports --dry-run, --phases. See docs/03-deployment/OPTIONAL_FUTURE_DEPLOYMENTS_RUNBOOK.md. |
scripts/deployment/run-pmm-and-pools.sh |
PMM phase + optional XAU pools. |
scripts/deployment/fund-ccip-bridges-with-link.sh |
Fund CCIP bridges with LINK. |
scripts/deployment/verify-all-rpcs.sh |
Verify all RPC endpoints. |
7. Remaining tasks (all optional / deferred / operator)
Below is the full list of tasks that remain to be done (optional fixes, deferred tests, operator-run deployment and testing, and post-deployment). Use as a single checklist.
7.1 Optional / deferred fixes
| # |
Task |
Type |
Notes |
| R1 |
Restore MultiChainBridge.t.sol |
✅ Done |
Restored with proxy deploy, proposeAsset/vote/execute, addDestination, MockCCIPRouter; 8/8 tests pass. |
| R2 |
Fix InitializeBridgeSystem.s.sol identifier conflict |
✅ Done |
Alias import BridgeSwapCoordinator as BSC to avoid duplicate identifier with BridgeReserveCoordinator import. |
| R3 |
Replace emoney stubs with full implementation |
Optional |
Then restore script/emoney/.s.sol and test/emoney/**/.t.sol and test/vault/Vault.t.sol from .bak. |
| R4 |
Restore other .bak scripts if needed |
Optional |
DeployWETHBridges, DeployISO4217WSystem, DeployVaultSystem, DeployLINKToken — only if using backup versions. |
7.2 Script validation and dry-runs (done in-repo)
| # |
Task |
Status |
| — |
Fix complete-config-ready-chains.sh syntax |
✅ Done. Invalid for var1 var2 in ... replaced with while IFS= read + heredoc (Step A and Step B). |
| — |
scripts/automation/validate-all-scripts.sh |
✅ All deployment/automation script syntax validated. |
| — |
deploy-optional-future-all.sh --dry-run |
✅ Run with placeholder PRIVATE_KEY; prints phases and “would run” commands. |
7.3 Optional / operator testing (when RPC or env available)
| # |
Task |
Command / ref |
| R5 |
Health, load, production tests |
./tests/health-check.sh, ./tests/load-test.sh, ./tests/load-test-rpc.sh, ./tests/load-test-oracle.sh, ./tests/load-test-ccip.sh, ./tests/load-test-production.sh |
| R6 |
E2E and Playwright |
cd tests/e2e && npm test, npx playwright test, tests/metamask-integration.test.ts |
| R7 |
Validation scripts |
validate-deployment-config.sh, validate-genesis.sh, verify-all-rpcs.sh, validate-config-files.sh, check-contracts-on-chain-138.sh, verify-contracts-blockscout.sh, verify-end-to-end-routing.sh |
| R8 |
Cross-chain integration tests |
Wrap ETH → WETH, bridge 138 ↔ Mainnet both ways. See PHASE4_POST_DEPLOYMENT_TESTING, TASK4_CROSS_CHAIN_TESTING_PLAN. |
| R9 |
Small CCIP test transfer per lane |
Per lane (e.g. 138 ↔ Ethereum, 138 ↔ BSC); verify on explorers. See CCIP_BRIDGE_DESTINATIONS_AND_LINK_FUNDING. |
| R10 |
Payment channel E2E |
forge test --match-path test/e2e/PaymentChannelsE2E.t.sol and test/e2e/GenericStateChannelsE2E.t.sol |
| R11 |
Gas snapshot refresh |
forge test --gas-report --match-path test/channels/ (and e2e); update GAS_REPORT if needed. |
| R12 |
Security / audit prep |
Complete SECURITY_AUDIT_CHECKLIST.md, AUDIT_PREPARATION.md. |
| R13 |
Add relay service tests |
✅ Done |
7.4 Deployment — prerequisites and core (operator)
| # |
Task |
Script / action |
| R14 |
.env configured |
PRIVATE_KEY, RPC_URL_138, ETHEREUM_MAINNET_RPC, per-chain RPC and CCIP vars. |
| R15 |
Balances and gas |
scripts/deployment/check-balances-gas-and-deploy.sh |
| R16 |
Ensure prerequisites |
scripts/deployment/ensure-prerequisites.sh |
| R17 |
Deploy core (Chain 138) |
script/deploy/01_DeployCore.s.sol, 02_DeployBridges.s.sol (or equivalent) |
| R18 |
Deploy Trustless Bridge |
DeployTrustlessBridge.s.sol (138 + Mainnet) |
| R19 |
Deploy Oracle |
script/DeployOracle.s.sol (138; optional others) |
| R20 |
Deploy AddressMapper (138) |
script/DeployAddressMapper.s.sol |
| R21 |
Deploy AddressMapperEmpty (other chains) |
script/DeployAddressMapperOtherChain.s.sol per chain |
| R22 |
Deploy Reserve System |
script/reserve/DeployReserveSystem.s.sol |
| R23 |
Configure price feeds |
script/reserve/SetupPriceFeeds.s.sol |
| R24 |
Deploy CCIP bridges (other chains) |
script/DeployAll.s.sol per chain |
| R25 |
Configure bridge destinations + fund LINK |
addDestination per bridge; fund-ccip-bridges-with-link.sh |
| R26 |
Deploy DODOPMMIntegration + create pools |
script/dex/DeployDODOPMMIntegration.s.sol; createCUSDTUSDTPool, createCUSDCUSDCPool |
| R27 |
Deploy Vault system (+ optional Keeper) |
script/deploy/vault/DeployVaultSystem.s.sol; optional DeployKeeper.s.sol |
| R28 |
Update .env and config |
config/smart-contracts-master.json and .env with all addresses |
7.5 Deployment — optional (operator)
| # |
Task |
Script / ref |
| R29 |
CCIPLogger per chain |
deploy-ccip-logger-all-chains.sh or Hardhat deploy:logger |
| R30 |
Deploy EnhancedSwapRouter |
script/bridge/trustless/DeployEnhancedSwapRouter.s.sol |
| R31 |
Deploy integration contracts (trustless) |
DeployIntegrationContracts.s.sol; then InitializeBridgeSystem if fixed |
| R32 |
Deterministic core (Chain 138) |
script/deploy/DeployDeterministicCore.s.sol |
| R33 |
DeployAll to additional chains |
script/DeployAll.s.sol per chain (Cronos, BSC, Polygon, etc.) |
| R34 |
eMoney (after full impl) |
script/emoney/DeployChain138.s.sol |
| R35 |
Smart accounts + Paymaster |
DeploySmartAccountsKit.s.sol, DeployAccountWalletRegistryExtended.s.sol |
| R36 |
PaymentChannelManager / GenericStateChannelManager |
script/DeployPaymentChannelManager.s.sol, DeployGenericStateChannelManager.s.sol |
| R37 |
ac/vdc/sdc vaults, ISO4217W |
DeployAcVdcSdcVaults.s.sol, DeployISO4217WSystem.s.sol |
| R38 |
Optional XAU pools |
script/dex/DeployPrivatePoolRegistryAndPools.s.sol |
| R39 |
Oracle on Cronos, EnhancedSwapRouter Cronos, voting |
CRONOS_FULL_DEPLOYMENT_TODO |
| R40 |
State anchoring / transaction mirroring services |
NEXT_STEPS_EXECUTION_STATUS, TASK3_TRANSACTION_MIRRORING_SERVICE |
| R41 |
Token-aggregation + relay deployment |
services/token-aggregation deploy; services/relay DeployCCIPRelay |
| R42 |
Phase 8–10 (backend, frontend, verify) |
deploy-all-phases.sh phase8–10 |
| R43 |
MirrorManager / TwoWayTokenBridge |
TASK11_MIRROR_MANAGER_DECISION, ALL_TASKS_FINAL_STATUS |
7.6 Post-deployment (operator)
| # |
Task |
Script / action |
| R44 |
On-chain check Chain 138 |
./scripts/verify/check-contracts-on-chain-138.sh |
| R45 |
Blockscout verification |
./scripts/verify/run-contract-verification-with-proxy.sh (from LAN) |
| R46 |
Set DODOPMMIntegration.setReserveSystem |
If using oracle-backed PMM price |
| R47 |
Set CHAIN_138_DODO_PMM_INTEGRATION |
For token-aggregation report API |
| R48 |
Token-aggregation indexer |
Ensure pool/token indexer runs (cron or on-demand) |
8. Recommendations and suggestions (completed / tracked)
| Recommendation |
Status |
Notes |
| Restore DODOPMMIntegration test |
✅ Done |
Restored; fixed vm.mockCall(dvm, bytes(""), ...) and removed redundant grantRole. |
| Restore MultiChainBridge test |
✅ Done |
Restored with proxy deploy, proposeAsset/vote/execute, addDestination, MockCCIPRouter, cancel/XDC/XRPL fixes; 8/8 tests pass. |
| Document WETH9 decimals (MetaMask) |
✅ Done |
See §1.3 and PHASE4_POST_DEPLOYMENT_TESTING.md §4.3. |
| Run full forge test |
✅ Done |
415 tests, 79 suites (excluding test/emoney). |
| Run channel tests with gas report |
✅ Done |
PaymentChannelManager + GenericStateChannelManager gas report in CI/local. |
| Token-aggregation npm test |
✅ Done |
Report API tests pass. |
| Relay service test |
✅ Done |
services/relay/test.js added (structure checks); npm test passes. |
| Cross-chain / small transfer tests |
Operator |
When Chain 138 RPC and LINK available; see §2.5. |
| Security audit checklist |
Operator |
SECURITY_AUDIT_CHECKLIST.md, AUDIT_PREPARATION.md. |
For contract/infra list see MASTER_CONTRACTS_AND_INFRASTRUCTURE_LIST.md. For status and token routing see STATUS_AND_TOKEN_ROUTING.md.