feat: explorer API, wallet, CCIP scripts, and config refresh

- Backend REST/gateway/track routes, analytics, Blockscout proxy paths.
- Frontend wallet and liquidity surfaces; MetaMask token list alignment.
- Deployment docs, verification scripts, address inventory updates.

Check: go build ./... under backend/ (pass).
Made-with: Cursor
This commit is contained in:
defiQUG
2026-04-07 23:22:12 -07:00
parent d931be8e19
commit 6eef6b07f6
224 changed files with 19671 additions and 3291 deletions

View File

@@ -0,0 +1,842 @@
{
"generatedAt": "2026-04-04T16:10:52.278Z",
"summary": {
"wave1Assets": 7,
"wave1TransportActive": 0,
"wave1TransportPending": 7,
"wave1WrappedSymbols": 10,
"wave1WrappedSymbolsCoveredByPoolMatrix": 10,
"wave1WrappedSymbolsMissingFromPoolMatrix": 0,
"desiredPublicEvmTargets": 11,
"chainsWithLoadedCwSuites": 10,
"chainsMissingCwSuites": 1,
"firstTierWave1PoolsPlanned": 110,
"firstTierWave1PoolsRecordedLive": 6,
"protocolsTracked": 5,
"protocolsLive": 1
},
"assetQueue": [
{
"code": "EUR",
"name": "Euro",
"canonicalSymbols": [
"cEURC",
"cEURT"
],
"wrappedSymbols": [
"cWEURC",
"cWEURT"
],
"transportActive": false,
"canonicalDeployed": true,
"x402Ready": false,
"coveredByPoolMatrix": true,
"nextSteps": [
"enable_bridge_controls",
"set_max_outstanding",
"promote_transport_overlay",
"deploy_public_pools"
]
},
{
"code": "JPY",
"name": "Japanese Yen",
"canonicalSymbols": [
"cJPYC"
],
"wrappedSymbols": [
"cWJPYC"
],
"transportActive": false,
"canonicalDeployed": true,
"x402Ready": false,
"coveredByPoolMatrix": true,
"nextSteps": [
"enable_bridge_controls",
"set_max_outstanding",
"promote_transport_overlay",
"deploy_public_pools"
]
},
{
"code": "GBP",
"name": "Pound Sterling",
"canonicalSymbols": [
"cGBPC",
"cGBPT"
],
"wrappedSymbols": [
"cWGBPC",
"cWGBPT"
],
"transportActive": false,
"canonicalDeployed": true,
"x402Ready": false,
"coveredByPoolMatrix": true,
"nextSteps": [
"enable_bridge_controls",
"set_max_outstanding",
"promote_transport_overlay",
"deploy_public_pools"
]
},
{
"code": "AUD",
"name": "Australian Dollar",
"canonicalSymbols": [
"cAUDC"
],
"wrappedSymbols": [
"cWAUDC"
],
"transportActive": false,
"canonicalDeployed": true,
"x402Ready": false,
"coveredByPoolMatrix": true,
"nextSteps": [
"enable_bridge_controls",
"set_max_outstanding",
"promote_transport_overlay",
"deploy_public_pools"
]
},
{
"code": "CAD",
"name": "Canadian Dollar",
"canonicalSymbols": [
"cCADC"
],
"wrappedSymbols": [
"cWCADC"
],
"transportActive": false,
"canonicalDeployed": true,
"x402Ready": false,
"coveredByPoolMatrix": true,
"nextSteps": [
"enable_bridge_controls",
"set_max_outstanding",
"promote_transport_overlay",
"deploy_public_pools"
]
},
{
"code": "CHF",
"name": "Swiss Franc",
"canonicalSymbols": [
"cCHFC"
],
"wrappedSymbols": [
"cWCHFC"
],
"transportActive": false,
"canonicalDeployed": true,
"x402Ready": false,
"coveredByPoolMatrix": true,
"nextSteps": [
"enable_bridge_controls",
"set_max_outstanding",
"promote_transport_overlay",
"deploy_public_pools"
]
},
{
"code": "XAU",
"name": "Gold",
"canonicalSymbols": [
"cXAUC",
"cXAUT"
],
"wrappedSymbols": [
"cWXAUC",
"cWXAUT"
],
"transportActive": false,
"canonicalDeployed": true,
"x402Ready": false,
"coveredByPoolMatrix": true,
"nextSteps": [
"enable_bridge_controls",
"set_max_outstanding",
"promote_transport_overlay",
"deploy_public_pools"
]
}
],
"chainQueue": [
{
"chainId": 1,
"name": "Ethereum Mainnet",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 12,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [
"cWEURC/USDC",
"cWGBPC/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC"
],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 10,
"name": "Optimism",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 12,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 25,
"name": "Cronos",
"hubStable": "USDT",
"bridgeAvailable": true,
"cwTokenCount": 12,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDT",
"cWEURT/USDT",
"cWGBPC/USDT",
"cWGBPT/USDT",
"cWAUDC/USDT",
"cWJPYC/USDT",
"cWCHFC/USDT",
"cWCADC/USDT",
"cWXAUC/USDT",
"cWXAUT/USDT"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 56,
"name": "BSC",
"hubStable": "USDT",
"bridgeAvailable": true,
"cwTokenCount": 14,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDT",
"cWEURT/USDT",
"cWGBPC/USDT",
"cWGBPT/USDT",
"cWAUDC/USDT",
"cWJPYC/USDT",
"cWCHFC/USDT",
"cWCADC/USDT",
"cWXAUC/USDT",
"cWXAUT/USDT"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 100,
"name": "Gnosis",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 12,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 137,
"name": "Polygon",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 13,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 42161,
"name": "Arbitrum One",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 12,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 42220,
"name": "Celo",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 14,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 43114,
"name": "Avalanche C-Chain",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 14,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 8453,
"name": "Base",
"hubStable": "USDC",
"bridgeAvailable": true,
"cwTokenCount": 12,
"wave1WrappedCoverage": 10,
"plannedWave1Pairs": [
"cWEURC/USDC",
"cWEURT/USDC",
"cWGBPC/USDC",
"cWGBPT/USDC",
"cWAUDC/USDC",
"cWJPYC/USDC",
"cWCHFC/USDC",
"cWCADC/USDC",
"cWXAUC/USDC",
"cWXAUT/USDC"
],
"recordedWave1Pairs": [],
"nextStep": "deploy_first_tier_wave1_pools"
},
{
"chainId": 1111,
"name": "Wemix",
"hubStable": "USDT",
"bridgeAvailable": false,
"cwTokenCount": 0,
"wave1WrappedCoverage": 0,
"plannedWave1Pairs": [
"cWEURC/USDT",
"cWEURT/USDT",
"cWGBPC/USDT",
"cWGBPT/USDT",
"cWAUDC/USDT",
"cWJPYC/USDT",
"cWCHFC/USDT",
"cWCADC/USDT",
"cWXAUC/USDT",
"cWXAUT/USDT"
],
"recordedWave1Pairs": [],
"nextStep": "complete_cw_suite_then_deploy_pools"
}
],
"protocolQueue": [
{
"key": "uniswap_v3",
"name": "Uniswap v3",
"role": "primary_public_pool_venue",
"deploymentStage": "stage1_first_tier_pools",
"activePublicPools": 0,
"currentState": "queued_not_live",
"activationDependsOn": [
"cW token suite deployed on destination chain",
"first-tier cW/hub pools created",
"pool addresses written to deployment-status.json",
"token-aggregation/indexer visibility enabled"
]
},
{
"key": "dodo_pmm",
"name": "DODO PMM",
"role": "primary_public_pmm_edge_venue",
"deploymentStage": "stage1_first_tier_pools",
"activePublicPools": 10,
"currentState": "partially_live_on_public_cw_mesh",
"activationDependsOn": [
"cW token suite deployed on destination chain",
"first-tier cW/hub pools created",
"pool addresses written to deployment-status.json",
"policy controls and MCP visibility attached"
]
},
{
"key": "balancer",
"name": "Balancer",
"role": "secondary_basket_liquidity",
"deploymentStage": "stage2_post_first_tier_liquidity",
"activePublicPools": 0,
"currentState": "queued_not_live",
"activationDependsOn": [
"first-tier Uniswap v3 or DODO PMM liquidity live",
"basket design approved for the destination chain",
"pool addresses written to deployment-status.json"
]
},
{
"key": "curve_3",
"name": "Curve 3",
"role": "secondary_stable_curve",
"deploymentStage": "stage2_post_first_tier_liquidity",
"activePublicPools": 0,
"currentState": "queued_not_live",
"activationDependsOn": [
"first-tier stable liquidity live",
"stable basket design approved for the destination chain",
"pool addresses written to deployment-status.json"
]
},
{
"key": "one_inch",
"name": "1inch",
"role": "routing_aggregation_layer",
"deploymentStage": "stage3_after_underlying_pools_live",
"activePublicPools": 0,
"currentState": "queued_not_live",
"activationDependsOn": [
"underlying public pools already live",
"router/indexer visibility enabled",
"token-aggregation/provider capability surfaced publicly"
]
}
],
"blockers": [
"Desired public EVM targets still missing cW suites: Wemix.",
"Wave 1 transport is still pending for: EUR, JPY, GBP, AUD, CAD, CHF, XAU.",
"Arbitrum bootstrap remains blocked on the current Mainnet hub leg: tx 0x97df657f0e31341ca852666766e553650531bbcc86621246d041985d7261bb07 reverted before any bridge event was emitted."
],
"resolutionMatrix": [
{
"key": "mainnet_arbitrum_hub_blocked",
"state": "open",
"blocker": "Arbitrum bootstrap remains blocked on the current Mainnet hub leg: tx 0x97df657f0e31341ca852666766e553650531bbcc86621246d041985d7261bb07 reverted from 0xc9901ce2Ddb6490FAA183645147a87496d8b20B6 before any bridge event was emitted.",
"targets": [
{
"fromChain": 138,
"viaChain": 1,
"toChain": 42161,
"currentPath": "138 -> Mainnet -> Arbitrum"
}
],
"resolution": [
"Repair or replace the current Mainnet WETH9 fan-out bridge before treating Arbitrum as an available public bootstrap target.",
"Retest 138 -> Mainnet first-hop delivery, then rerun a smaller Mainnet -> Arbitrum send and require destination bridge events before promoting the route.",
"Keep Arbitrum marked blocked in the explorer and status surfaces until the hub leg emits and completes normally."
],
"runbooks": [
"docs/07-ccip/CROSS_NETWORK_FUNDING_BOOTSTRAP_STRATEGY.md",
"docs/07-ccip/CHAIN138_PUBLIC_CHAIN_UNLOAD_ROUTES.md",
"docs/00-meta/REQUIRED_FIXES_GAPS_AND_DEPLOYMENTS_LIST.md"
],
"exitCriteria": "A fresh Mainnet -> Arbitrum WETH9 send emits bridge events and completes destination delivery successfully."
},
{
"key": "missing_public_cw_suites",
"state": "open",
"blocker": "Desired public EVM targets still missing cW suites: Wemix.",
"targets": [
{
"chainId": 1111,
"name": "Wemix",
"nextStep": "complete_cw_suite_then_deploy_pools"
}
],
"resolution": [
"Deploy the full cW core suite on each missing destination chain using the existing CW deploy-and-wire flow.",
"Grant bridge mint/burn roles and mark the corridor live in cross-chain-pmm-lps/config/deployment-status.json.",
"Update public token lists / explorer config, then rerun check-cw-evm-deployment-mesh.sh and check-cw-public-pool-status.sh."
],
"runbooks": [
"docs/07-ccip/CW_DEPLOY_AND_WIRE_RUNBOOK.md",
"docs/03-deployment/PHASE_C_CW_AND_EDGE_POOLS_RUNBOOK.md",
"scripts/deployment/run-cw-remaining-steps.sh",
"scripts/verify/check-cw-evm-deployment-mesh.sh"
],
"exitCriteria": "Wemix report non-zero cW suites and become bridgeAvailable in deployment-status.json."
},
{
"key": "wave1_transport_pending",
"state": "open",
"blocker": "Wave 1 transport is still pending for: EUR, JPY, GBP, AUD, CAD, CHF, XAU.",
"targets": [
{
"code": "EUR",
"canonicalSymbols": [
"cEURC",
"cEURT"
],
"wrappedSymbols": [
"cWEURC",
"cWEURT"
]
},
{
"code": "JPY",
"canonicalSymbols": [
"cJPYC"
],
"wrappedSymbols": [
"cWJPYC"
]
},
{
"code": "GBP",
"canonicalSymbols": [
"cGBPC",
"cGBPT"
],
"wrappedSymbols": [
"cWGBPC",
"cWGBPT"
]
},
{
"code": "AUD",
"canonicalSymbols": [
"cAUDC"
],
"wrappedSymbols": [
"cWAUDC"
]
},
{
"code": "CAD",
"canonicalSymbols": [
"cCADC"
],
"wrappedSymbols": [
"cWCADC"
]
},
{
"code": "CHF",
"canonicalSymbols": [
"cCHFC"
],
"wrappedSymbols": [
"cWCHFC"
]
},
{
"code": "XAU",
"canonicalSymbols": [
"cXAUC",
"cXAUT"
],
"wrappedSymbols": [
"cWXAUC",
"cWXAUT"
]
}
],
"resolution": [
"Enable bridge controls and supervision policy for each Wave 1 canonical asset on Chain 138.",
"Set max-outstanding / capacity controls, then promote the canonical symbols into config/gru-transport-active.json.",
"Verify the overlay promotion with check-gru-global-priority-rollout.sh and check-gru-v2-chain138-readiness.sh before attaching public liquidity."
],
"runbooks": [
"docs/04-configuration/GRU_GLOBAL_PRIORITY_CROSS_CHAIN_ROLLOUT.md",
"docs/04-configuration/GRU_TRANSPORT_ACTIVE_JSON.md",
"scripts/verify/check-gru-global-priority-rollout.sh",
"scripts/verify/check-gru-v2-chain138-readiness.sh"
],
"exitCriteria": "Wave 1 transport pending count reaches zero and the overlay reports the seven non-USD assets as live_transport."
},
{
"key": "first_tier_public_pools_not_live",
"state": "in_progress",
"blocker": "Some first-tier Wave 1 public cW pools are live, but the rollout is incomplete.",
"targets": [
{
"chainId": 1,
"name": "Ethereum Mainnet",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 6
},
{
"chainId": 10,
"name": "Optimism",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 25,
"name": "Cronos",
"hubStable": "USDT",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 56,
"name": "BSC",
"hubStable": "USDT",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 100,
"name": "Gnosis",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 137,
"name": "Polygon",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 42161,
"name": "Arbitrum One",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 42220,
"name": "Celo",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 43114,
"name": "Avalanche C-Chain",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 8453,
"name": "Base",
"hubStable": "USDC",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
},
{
"chainId": 1111,
"name": "Wemix",
"hubStable": "USDT",
"plannedWave1Pairs": 10,
"recordedWave1Pairs": 0
}
],
"resolution": [
"Deploy the first-tier cW/hub-stable pairs from pool-matrix.json on every chain with a loaded cW suite.",
"Seed the new pools with initial liquidity and record the resulting pool addresses in cross-chain-pmm-lps/config/deployment-status.json.",
"Use check-cw-public-pool-status.sh to verify the mesh is no longer empty before surfacing the venues publicly."
],
"runbooks": [
"docs/03-deployment/SINGLE_SIDED_LPS_PUBLIC_NETWORKS_RUNBOOK.md",
"docs/03-deployment/PMM_FULL_MESH_AND_PUBLIC_SINGLE_SIDED_PLAN.md",
"cross-chain-pmm-lps/config/pool-matrix.json",
"scripts/verify/check-cw-public-pool-status.sh"
],
"exitCriteria": "First-tier Wave 1 pools are recorded live in deployment-status.json and check-cw-public-pool-status.sh reports non-zero pool coverage."
},
{
"key": "public_protocols_queued",
"state": "in_progress",
"blocker": "Some tracked public protocols have begun activation, but the full protocol stack is not live yet.",
"targets": [
{
"key": "uniswap_v3",
"name": "Uniswap v3",
"deploymentStage": "stage1_first_tier_pools",
"activationDependsOn": [
"cW token suite deployed on destination chain",
"first-tier cW/hub pools created",
"pool addresses written to deployment-status.json",
"token-aggregation/indexer visibility enabled"
]
},
{
"key": "dodo_pmm",
"name": "DODO PMM",
"deploymentStage": "stage1_first_tier_pools",
"activationDependsOn": [
"cW token suite deployed on destination chain",
"first-tier cW/hub pools created",
"pool addresses written to deployment-status.json",
"policy controls and MCP visibility attached"
]
},
{
"key": "balancer",
"name": "Balancer",
"deploymentStage": "stage2_post_first_tier_liquidity",
"activationDependsOn": [
"first-tier Uniswap v3 or DODO PMM liquidity live",
"basket design approved for the destination chain",
"pool addresses written to deployment-status.json"
]
},
{
"key": "curve_3",
"name": "Curve 3",
"deploymentStage": "stage2_post_first_tier_liquidity",
"activationDependsOn": [
"first-tier stable liquidity live",
"stable basket design approved for the destination chain",
"pool addresses written to deployment-status.json"
]
},
{
"key": "one_inch",
"name": "1inch",
"deploymentStage": "stage3_after_underlying_pools_live",
"activationDependsOn": [
"underlying public pools already live",
"router/indexer visibility enabled",
"token-aggregation/provider capability surfaced publicly"
]
}
],
"resolution": [
"Stage 1: activate Uniswap v3 and DODO PMM once first-tier cW pools exist on the public mesh.",
"Stage 2: activate Balancer and Curve 3 only after first-tier stable liquidity is already live.",
"Stage 3: expose 1inch after the underlying pools, routing/indexer visibility, and public provider-capability wiring are in place."
],
"runbooks": [
"config/gru-v2-public-protocol-rollout-plan.json",
"docs/11-references/GRU_V2_PUBLIC_PROTOCOL_DEPLOYMENT_STATUS.md",
"scripts/verify/check-gru-v2-public-protocols.sh"
],
"exitCriteria": "The public protocol status surface reports non-zero active cW pools for the staged venues."
},
{
"key": "global_priority_backlog",
"state": "open",
"blocker": "The ranked GRU global rollout still has 29 backlog assets outside the live manifest.",
"targets": [
{
"backlogAssets": 29
}
],
"resolution": [
"Complete Wave 1 transport and first-tier public liquidity before promoting the remaining ranked assets.",
"For each backlog asset, add canonical + wrapped symbols to the manifest/rollout plan, deploy contracts, and extend the public pool matrix.",
"Promote each new asset through the same transport and public-liquidity gates used for Wave 1."
],
"runbooks": [
"config/gru-global-priority-currency-rollout.json",
"config/gru-iso4217-currency-manifest.json",
"docs/04-configuration/GRU_GLOBAL_PRIORITY_CROSS_CHAIN_ROLLOUT.md",
"scripts/verify/check-gru-global-priority-rollout.sh"
],
"exitCriteria": "Backlog assets count reaches zero in check-gru-global-priority-rollout.sh."
},
{
"key": "solana_non_evm_program",
"state": "planned",
"blocker": "Desired non-EVM GRU targets remain planned / relay-dependent: Solana.",
"targets": [
{
"identifier": "Solana",
"label": "Solana"
}
],
"resolution": [
"Define the destination-chain token/program model first: SPL or wrapped-account representation, authority model, and relay custody surface.",
"Implement the relay/program path and only then promote Solana from desired-target status into the active transport inventory.",
"Add dedicated verifier coverage before marking Solana live anywhere in the explorer or status docs."
],
"runbooks": [
"docs/04-configuration/ADDITIONAL_PATHS_AND_EXTENSIONS.md",
"docs/04-configuration/GRU_GLOBAL_PRIORITY_CROSS_CHAIN_ROLLOUT.md"
],
"exitCriteria": "Solana has a real relay/program surface, a verifier, and is no longer only listed as a desired non-EVM target."
}
],
"notes": [
"This queue is an operator/deployment planning surface. It does not mark queued pools or transports as live.",
"Chain 138 canonical venues remain a separate live surface from the public cW mesh."
]
}

View File

@@ -0,0 +1,348 @@
{
"generatedAt": "2026-04-04T16:10:52.261Z",
"canonicalChainId": 138,
"summary": {
"desiredPublicEvmTargets": 11,
"loadedPublicEvmChains": 10,
"loadedPublicEvmFullCoreSuite": 10,
"desiredButNotLoaded": 1,
"publicProtocolsTracked": 5,
"publicProtocolsWithActiveCwPools": 1,
"chainsWithAnyRecordedPublicCwPools": 1,
"liveTransportAssets": 1,
"wave1CanonicalOnly": 7,
"backlogAssets": 29
},
"publicEvmMesh": {
"coreCwSuite": [
"cWUSDT",
"cWUSDC",
"cWEURC",
"cWEURT",
"cWGBPC",
"cWGBPT",
"cWAUDC",
"cWJPYC",
"cWCHFC",
"cWCADC",
"cWXAUC",
"cWXAUT"
],
"desiredChains": [
{
"chainId": 1,
"name": "Ethereum Mainnet",
"cwTokenCount": 12,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 10
},
{
"chainId": 10,
"name": "Optimism",
"cwTokenCount": 12,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 25,
"name": "Cronos",
"cwTokenCount": 12,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 56,
"name": "BSC (BNB Chain)",
"cwTokenCount": 14,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 100,
"name": "Gnosis Chain",
"cwTokenCount": 12,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 137,
"name": "Polygon",
"cwTokenCount": 13,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 42161,
"name": "Arbitrum One",
"cwTokenCount": 12,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 42220,
"name": "Celo",
"cwTokenCount": 14,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 43114,
"name": "Avalanche C-Chain",
"cwTokenCount": 14,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 8453,
"name": "Base",
"cwTokenCount": 12,
"hasFullCoreSuite": true,
"bridgeAvailable": true,
"pmmPoolCount": 0
},
{
"chainId": 1111,
"name": "Wemix",
"cwTokenCount": 0,
"hasFullCoreSuite": false,
"bridgeAvailable": false,
"pmmPoolCount": 0
}
],
"desiredButNotLoaded": [
{
"chainId": 1111,
"name": "Wemix"
}
],
"wave1PoolMatrixCoverage": {
"totalWrappedSymbols": 10,
"coveredSymbols": 10,
"missingSymbols": []
},
"note": "The public EVM cW token mesh is complete on the currently loaded 10-chain set, but Wemix remains a desired target without a cW suite in deployment-status.json."
},
"transport": {
"liveTransportAssets": [
{
"code": "USD",
"name": "US Dollar"
}
],
"wave1": [
{
"code": "EUR",
"name": "Euro",
"wave": "wave1",
"manifestPresent": true,
"deployed": true,
"transportActive": false,
"x402Ready": false,
"canonicalSymbols": [
"cEURC",
"cEURT"
],
"wrappedSymbols": [
"cWEURC",
"cWEURT"
],
"currentState": "canonical_only",
"nextStep": "activate_transport_and_attach_public_liquidity"
},
{
"code": "JPY",
"name": "Japanese Yen",
"wave": "wave1",
"manifestPresent": true,
"deployed": true,
"transportActive": false,
"x402Ready": false,
"canonicalSymbols": [
"cJPYC"
],
"wrappedSymbols": [
"cWJPYC"
],
"currentState": "canonical_only",
"nextStep": "activate_transport_and_attach_public_liquidity"
},
{
"code": "GBP",
"name": "Pound Sterling",
"wave": "wave1",
"manifestPresent": true,
"deployed": true,
"transportActive": false,
"x402Ready": false,
"canonicalSymbols": [
"cGBPC",
"cGBPT"
],
"wrappedSymbols": [
"cWGBPC",
"cWGBPT"
],
"currentState": "canonical_only",
"nextStep": "activate_transport_and_attach_public_liquidity"
},
{
"code": "AUD",
"name": "Australian Dollar",
"wave": "wave1",
"manifestPresent": true,
"deployed": true,
"transportActive": false,
"x402Ready": false,
"canonicalSymbols": [
"cAUDC"
],
"wrappedSymbols": [
"cWAUDC"
],
"currentState": "canonical_only",
"nextStep": "activate_transport_and_attach_public_liquidity"
},
{
"code": "CAD",
"name": "Canadian Dollar",
"wave": "wave1",
"manifestPresent": true,
"deployed": true,
"transportActive": false,
"x402Ready": false,
"canonicalSymbols": [
"cCADC"
],
"wrappedSymbols": [
"cWCADC"
],
"currentState": "canonical_only",
"nextStep": "activate_transport_and_attach_public_liquidity"
},
{
"code": "CHF",
"name": "Swiss Franc",
"wave": "wave1",
"manifestPresent": true,
"deployed": true,
"transportActive": false,
"x402Ready": false,
"canonicalSymbols": [
"cCHFC"
],
"wrappedSymbols": [
"cWCHFC"
],
"currentState": "canonical_only",
"nextStep": "activate_transport_and_attach_public_liquidity"
},
{
"code": "XAU",
"name": "Gold",
"wave": "wave1",
"manifestPresent": true,
"deployed": true,
"transportActive": false,
"x402Ready": false,
"canonicalSymbols": [
"cXAUC",
"cXAUT"
],
"wrappedSymbols": [
"cWXAUC",
"cWXAUT"
],
"currentState": "canonical_only",
"nextStep": "activate_transport_and_attach_public_liquidity"
}
],
"note": "USD is the only live transport asset today. Wave 1 non-USD assets are deployed canonically on Chain 138 but are not yet promoted into the active transport overlay."
},
"protocols": {
"publicCwMesh": [
{
"key": "uniswap_v3",
"name": "Uniswap v3",
"activePublicCwPools": 0,
"destinationChainsWithPools": 0,
"status": "not_deployed_on_public_cw_mesh",
"notes": "No live public-chain cW* venue is recorded for this protocol in deployment-status.json yet."
},
{
"key": "balancer",
"name": "Balancer",
"activePublicCwPools": 0,
"destinationChainsWithPools": 0,
"status": "not_deployed_on_public_cw_mesh",
"notes": "No live public-chain cW* venue is recorded for this protocol in deployment-status.json yet."
},
{
"key": "curve_3",
"name": "Curve 3",
"activePublicCwPools": 0,
"destinationChainsWithPools": 0,
"status": "not_deployed_on_public_cw_mesh",
"notes": "No live public-chain cW* venue is recorded for this protocol in deployment-status.json yet."
},
{
"key": "dodo_pmm",
"name": "DODO PMM",
"activePublicCwPools": 10,
"destinationChainsWithPools": 1,
"status": "partial_live_on_public_cw_mesh",
"notes": "deployment-status.json now records live public-chain cW* DODO PMM pools on Mainnet, including recorded non-USD Wave 1 rows, and the recorded Mainnet pools now have bidirectional live execution proof. The broader public cW mesh is still partial."
},
{
"key": "one_inch",
"name": "1inch",
"activePublicCwPools": 0,
"destinationChainsWithPools": 0,
"status": "not_deployed_on_public_cw_mesh",
"notes": "No live public-chain cW* venue is recorded for this protocol in deployment-status.json yet."
}
],
"chain138CanonicalVenues": {
"note": "Chain 138 canonical routing is a separate surface: DODO PMM plus upstream-native Uniswap v3 and the funded pilot-compatible Balancer, Curve 3, and 1inch venues are live there.",
"liveProtocols": [
"DODO PMM",
"Uniswap v3",
"Balancer",
"Curve 3",
"1inch"
]
}
},
"bridgeRouteHealth": {
"arbitrumHubBlocker": {
"active": true,
"fromChain": 138,
"viaChain": 1,
"toChain": 42161,
"currentPath": "138 -> Mainnet -> Arbitrum",
"sourceBridge": "0xc9901ce2Ddb6490FAA183645147a87496d8b20B6",
"failedTxHash": "0x97df657f0e31341ca852666766e553650531bbcc86621246d041985d7261bb07",
"note": "Use Mainnet hub; direct 138 first hop to Arbitrum emitted MessageSent on 2026-04-04 without destination delivery."
}
},
"explorer": {
"tokenListApi": "https://explorer.d-bis.org/api/config/token-list",
"staticStatusPath": "https://explorer.d-bis.org/config/GRU_V2_PUBLIC_DEPLOYMENT_STATUS.json"
},
"blockers": [
"Desired public EVM targets still lack cW token suites: Wemix.",
"Wave 1 GRU assets are still canonical-only on Chain 138: EUR, JPY, GBP, AUD, CAD, CHF, XAU.",
"Public cW* protocol rollout is now partial: DODO PMM has recorded pools, while Uniswap v3, Balancer, Curve 3, and 1inch remain not live on the public cW mesh.",
"The ranked GRU global rollout still has 29 backlog assets outside the live manifest.",
"Desired non-EVM GRU targets remain planned / relay-dependent: Solana.",
"Arbitrum public-network bootstrap remains blocked on the current Mainnet hub leg: tx 0x97df657f0e31341ca852666766e553650531bbcc86621246d041985d7261bb07 reverted from 0xc9901ce2Ddb6490FAA183645147a87496d8b20B6 before any bridge event was emitted."
]
}