From a469d36727316fea257a1caebcdd20ead1dc8d75 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Thu, 16 Apr 2026 11:44:01 -0700 Subject: [PATCH] Add extraction and liquidity improvement pack --- .../extraction/canonical-exit-corridors.json | 211 + config/extraction/growth-loop-policy.json | 170 + .../gru-v2-wave1-public-seed-policy.json | 85 + ...ediate-liquidity-expansion-thresholds.json | 19 + .../liquidity-improvement-thresholds.json | 35 + config/extraction/tranche-thresholds.json | 21 + .../treasury-segmentation-policy.json | 74 + .../EXTRACTION_GAP_CLOSURE_PACK.md | 23 + .../IMMEDIATE_LIQUIDITY_EXPANSION_PACK.md | 71 + .../LIQUIDITY_IMPROVEMENT_OPERATOR_PACK.md | 94 + ...ible-liquidity-pools-inventory-latest.json | 2752 ++++++ .../extraction/bridge-canary-plan-latest.json | 78 + reports/extraction/capital-state-latest.json | 30 + .../extraction/corridor-capacity-latest.json | 344 + .../debt-leverage-cycle-latest.json | 39 + .../end-to-end-corridor-canary-latest.json | 104 + .../extraction/execution-ledger-latest.json | 70 + .../growth-cycle-with-retention-latest.json | 21 + .../extraction/growth-loop-loop-latest.json | 12 + .../extraction/growth-loop-once-latest.json | 26 + .../growth-loop-rounds/round-001.json | 30 + .../growth-loop-rounds/round-002.json | 30 + .../growth-loop-simulation-latest.json | 6775 +++++++++++++ .../growth-pricing-guardrails-latest.json | 45 + .../growth-stage-report-latest.json | 25 + .../gru-v2-mainnet-bridge-parity-latest.json | 217 + .../gru-v2-mainnet-funding-plan-latest.json | 270 + ...wave1-funding-authority-report-latest.json | 8682 +++++++++++++++++ ...ru-v2-wave1-public-deploy-plan-latest.json | 796 ++ ...gru-v2-wave1-public-deploy-run-latest.json | 25 + ...gru-v2-wave1-public-gap-report-latest.json | 1070 ++ .../leverage-readiness-report-latest.json | 32 + .../liquidity-state-delta-latest.json | 78 + .../live-bridge-canary-run-latest.json | 50 + ...end-to-end-corridor-canary-run-latest.json | 75 + .../live-lp-withdrawal-canary-run-latest.json | 35 + .../live-mainnet-exit-canary-run-latest.json | 56 + .../extraction/lp-tranche-sizing-latest.json | 166 + .../lp-withdrawal-canary-plan-latest.json | 76 + ...w-stable-coexistence-inventory-latest.json | 355 + .../mainnet-exit-canary-plan-latest.json | 65 + .../mainnet-exit-pool-ranking-latest.json | 137 + ...nnet-landing-verification-plan-latest.json | 40 + ...ainnet-quote-side-funding-plan-latest.json | 323 + .../post-withdrawal-routing-plan-latest.json | 62 + .../realizable-capital-ladder-latest.json | 720 ++ ...ealize-to-canonical-sweep-plan-latest.json | 77 + .../extraction/recover-relay-gas-latest.json | 21 + .../retained-capital-report-latest.json | 29 + .../stable-lp-verification-latest.json | 313 + ...easury-segmentation-assignment-latest.json | 662 ++ scripts/lib/extraction_gap_closure.py | 1476 +++ scripts/lib/immediate_liquidity_expansion.py | 823 ++ scripts/lib/liquidity_improvement_pack.py | 1263 +++ .../validate-extraction-gap-closure-pack.sh | 5 + ...date-immediate-liquidity-expansion-pack.sh | 5 + .../validate-liquidity-improvement-pack.sh | 6 + .../verify/run-extraction-gap-closure-pack.sh | 12 + .../run-immediate-liquidity-expansion-pack.sh | 5 + .../verify/run-liquidity-improvement-pack.sh | 6 + .../extraction/canonical-exit-corridors.json | 211 + .../config/extraction/growth-loop-policy.json | 170 + .../gru-v2-wave1-public-seed-policy.json | 85 + ...ediate-liquidity-expansion-thresholds.json | 19 + .../liquidity-improvement-thresholds.json | 35 + .../config/extraction/tranche-thresholds.json | 21 + .../treasury-segmentation-policy.json | 74 + 67 files changed, 29832 insertions(+) create mode 100644 config/extraction/canonical-exit-corridors.json create mode 100644 config/extraction/growth-loop-policy.json create mode 100644 config/extraction/gru-v2-wave1-public-seed-policy.json create mode 100644 config/extraction/immediate-liquidity-expansion-thresholds.json create mode 100644 config/extraction/liquidity-improvement-thresholds.json create mode 100644 config/extraction/tranche-thresholds.json create mode 100644 config/extraction/treasury-segmentation-policy.json create mode 100644 docs/03-deployment/EXTRACTION_GAP_CLOSURE_PACK.md create mode 100644 docs/03-deployment/IMMEDIATE_LIQUIDITY_EXPANSION_PACK.md create mode 100644 docs/03-deployment/LIQUIDITY_IMPROVEMENT_OPERATOR_PACK.md create mode 100644 reports/extraction/accessible-liquidity-pools-inventory-latest.json create mode 100644 reports/extraction/bridge-canary-plan-latest.json create mode 100644 reports/extraction/capital-state-latest.json create mode 100644 reports/extraction/corridor-capacity-latest.json create mode 100644 reports/extraction/debt-leverage-cycle-latest.json create mode 100644 reports/extraction/end-to-end-corridor-canary-latest.json create mode 100644 reports/extraction/execution-ledger-latest.json create mode 100644 reports/extraction/growth-cycle-with-retention-latest.json create mode 100644 reports/extraction/growth-loop-loop-latest.json create mode 100644 reports/extraction/growth-loop-once-latest.json create mode 100644 reports/extraction/growth-loop-rounds/round-001.json create mode 100644 reports/extraction/growth-loop-rounds/round-002.json create mode 100644 reports/extraction/growth-loop-simulation-latest.json create mode 100644 reports/extraction/growth-pricing-guardrails-latest.json create mode 100644 reports/extraction/growth-stage-report-latest.json create mode 100644 reports/extraction/gru-v2-mainnet-bridge-parity-latest.json create mode 100644 reports/extraction/gru-v2-mainnet-funding-plan-latest.json create mode 100644 reports/extraction/gru-v2-wave1-funding-authority-report-latest.json create mode 100644 reports/extraction/gru-v2-wave1-public-deploy-plan-latest.json create mode 100644 reports/extraction/gru-v2-wave1-public-deploy-run-latest.json create mode 100644 reports/extraction/gru-v2-wave1-public-gap-report-latest.json create mode 100644 reports/extraction/leverage-readiness-report-latest.json create mode 100644 reports/extraction/liquidity-state-delta-latest.json create mode 100644 reports/extraction/live-bridge-canary-run-latest.json create mode 100644 reports/extraction/live-end-to-end-corridor-canary-run-latest.json create mode 100644 reports/extraction/live-lp-withdrawal-canary-run-latest.json create mode 100644 reports/extraction/live-mainnet-exit-canary-run-latest.json create mode 100644 reports/extraction/lp-tranche-sizing-latest.json create mode 100644 reports/extraction/lp-withdrawal-canary-plan-latest.json create mode 100644 reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json create mode 100644 reports/extraction/mainnet-exit-canary-plan-latest.json create mode 100644 reports/extraction/mainnet-exit-pool-ranking-latest.json create mode 100644 reports/extraction/mainnet-landing-verification-plan-latest.json create mode 100644 reports/extraction/mainnet-quote-side-funding-plan-latest.json create mode 100644 reports/extraction/post-withdrawal-routing-plan-latest.json create mode 100644 reports/extraction/realizable-capital-ladder-latest.json create mode 100644 reports/extraction/realize-to-canonical-sweep-plan-latest.json create mode 100644 reports/extraction/recover-relay-gas-latest.json create mode 100644 reports/extraction/retained-capital-report-latest.json create mode 100644 reports/extraction/stable-lp-verification-latest.json create mode 100644 reports/extraction/treasury-segmentation-assignment-latest.json create mode 100644 scripts/lib/extraction_gap_closure.py create mode 100644 scripts/lib/immediate_liquidity_expansion.py create mode 100644 scripts/lib/liquidity_improvement_pack.py create mode 100755 scripts/validation/validate-extraction-gap-closure-pack.sh create mode 100755 scripts/validation/validate-immediate-liquidity-expansion-pack.sh create mode 100755 scripts/validation/validate-liquidity-improvement-pack.sh create mode 100755 scripts/verify/run-extraction-gap-closure-pack.sh create mode 100755 scripts/verify/run-immediate-liquidity-expansion-pack.sh create mode 100755 scripts/verify/run-liquidity-improvement-pack.sh create mode 100644 token-aggregation-build/config/extraction/canonical-exit-corridors.json create mode 100644 token-aggregation-build/config/extraction/growth-loop-policy.json create mode 100644 token-aggregation-build/config/extraction/gru-v2-wave1-public-seed-policy.json create mode 100644 token-aggregation-build/config/extraction/immediate-liquidity-expansion-thresholds.json create mode 100644 token-aggregation-build/config/extraction/liquidity-improvement-thresholds.json create mode 100644 token-aggregation-build/config/extraction/tranche-thresholds.json create mode 100644 token-aggregation-build/config/extraction/treasury-segmentation-policy.json diff --git a/config/extraction/canonical-exit-corridors.json b/config/extraction/canonical-exit-corridors.json new file mode 100644 index 00000000..ce4519b9 --- /dev/null +++ b/config/extraction/canonical-exit-corridors.json @@ -0,0 +1,211 @@ +{ + "generated_at": "2026-04-16T02:03:09Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "bridge_wallet_readiness": { + "generated_at": "2026-04-16T02:03:09Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "assets": [ + { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + }, + { + "symbol": "cUSDC", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + } + ] + }, + "corridors": [ + { + "corridor_id": "chain138-stable-lp-to-eth-stables", + "source_chain": "138", + "source_asset": "Chain 138 stable LP claims", + "source_action": "Remove liquidity from cUSDT/cUSDC + cUSDT/USDT + cUSDC/USDC pools", + "bridge": "CW bridge corridor to Ethereum (manual-required verification of exact production path)", + "destination_chain": "1", + "destination_asset": "cWUSDC / cWUSDT", + "final_exit_surface": "Ethereum mainnet DODO PMM direct stable exits", + "final_asset": "Ethereum USDC / USDT or approved external stable wallet balances", + "route_type": "internal withdrawal + bridge + public DEX exit", + "status": "manual-required", + "notes": [ + "LP ownership is directly verifiable on Chain 138.", + "Wallet-specific read-only bridge preflight now confirms the canonical v1 cUSDT/cUSDC -> Mainnet cWUSDT/cWUSDC wiring and fee quote path.", + "Bridge leg still remains manual-required for production readiness until a separate operator-approved live canary is executed.", + "Final exit depth is constrained by public Ethereum cW/canonical stable pools." + ], + "rank": "secondary", + "ranking_note": "LP withdrawal on Chain 138 is strong, but final external realization remains constrained by downstream cW exit depth." + }, + { + "corridor_id": "chain138-cusdc-to-eth-usdc", + "source_chain": "138", + "source_asset": "cUSDC", + "source_action": "Bridge cUSDC to Ethereum cWUSDC", + "bridge": "CW bridge to Ethereum", + "destination_chain": "1", + "destination_asset": "cWUSDC", + "final_exit_surface": "Ethereum DODO PMM 0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "bridge + public DEX exit", + "status": "simulated", + "notes": [ + "Destination pool is verified in deployment-status.json.", + "Route is structurally valid but expected to be depth-constrained at the final PMM step." + ], + "rank": "secondary", + "ranking_note": "Bridge plus mainnet PMM exit; final depth constrained by shallow public cW/canonical pools.", + "bridge_readiness": { + "symbol": "cUSDC", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + } + }, + { + "corridor_id": "chain138-cusdt-to-eth-usdt", + "source_chain": "138", + "source_asset": "cUSDT", + "source_action": "Bridge cUSDT to Ethereum cWUSDT", + "bridge": "CW bridge to Ethereum", + "destination_chain": "1", + "destination_asset": "cWUSDT", + "final_exit_surface": "Ethereum DODO PMM 0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "final_asset": "Ethereum USDT / approved external stable wallet balances", + "route_type": "bridge + public DEX exit", + "status": "simulated", + "notes": [ + "Destination pool is verified in deployment-status.json.", + "Route is structurally valid but expected to be depth-constrained at the final PMM step." + ], + "rank": "secondary", + "ranking_note": "Bridge plus mainnet PMM exit; final depth constrained by shallow public cW/canonical pools.", + "bridge_readiness": { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + } + }, + { + "corridor_id": "eth-cwusdc-direct-usdc", + "source_chain": "1", + "source_asset": "cWUSDC", + "source_action": "Swap cWUSDC directly into USDC on Ethereum", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "USDC", + "final_exit_surface": "Ethereum DODO PMM 0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "public DEX exit", + "status": "live-read", + "notes": [ + "Wallet holds live cWUSDC on mainnet.", + "Aave-postable USDC is an approved terminal state after direct swap." + ], + "rank": "primary", + "ranking_note": "Direct mainnet cW to canonical stable exit with verified public PMM pool." + }, + { + "corridor_id": "eth-cwusdt-direct-usdt", + "source_chain": "1", + "source_asset": "cWUSDT", + "source_action": "Swap cWUSDT directly into USDT on Ethereum", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "USDT", + "final_exit_surface": "Ethereum DODO PMM 0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "final_asset": "Ethereum USDT / approved external stable wallet balances", + "route_type": "public DEX exit", + "status": "live-read", + "notes": [ + "Wallet holds live cWUSDT on mainnet.", + "Direct exit exists, but pool depth is small relative to wallet inventory." + ], + "rank": "primary", + "ranking_note": "Direct mainnet cW to canonical stable exit with verified public PMM pool." + }, + { + "corridor_id": "eth-cwusdt-via-cwusdc-to-usdc", + "source_chain": "1", + "source_asset": "cWUSDT", + "source_action": "Swap cWUSDT to cWUSDC, then cWUSDC to USDC", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "cWUSDC then USDC", + "final_exit_surface": "Ethereum DODO PMM 0xe944b7Cb012A0820c07f54D51e92f0e1C74168DB + direct cWUSDC/USDC pool", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "multi-step public DEX exit", + "status": "simulated", + "notes": [ + "Fallback route only; the cWUSDT/cWUSDC pool is deep, but the final cWUSDC/USDC exit remains the limiting step." + ], + "rank": "experimental", + "ranking_note": "Fallback or partially verified route." + } + ] +} diff --git a/config/extraction/growth-loop-policy.json b/config/extraction/growth-loop-policy.json new file mode 100644 index 00000000..5cb2f9d6 --- /dev/null +++ b/config/extraction/growth-loop-policy.json @@ -0,0 +1,170 @@ +{ + "policy_name": "immediate_liquidity_growth_policy", + "version": "2.0.0", + "generated_by": "codex", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "objective": [ + "increase_direct_exit_capacity", + "preserve_legacy_extraction_rail", + "deploy_idle_canonical_stable", + "compound_v2_direct_exit_depth", + "retain_canonical_wallet_cash", + "gate_debt_leverage_until_readiness" + ], + "priority_order": [ + "relay_gas_health", + "matched_add_cwusdc_v2_usdc", + "legacy_cwusdc_to_usdc_extraction", + "matched_add_cwusdt_v2_usdt", + "cross_pair_support", + "usdc_to_usdt_rotation_only_if_unlocking_progress" + ], + "thresholds": { + "legacy_usdc_quote_reserve_pause": 100.0, + "legacy_usdc_quote_reserve_low": 200.0, + "legacy_usdc_extract_default_bps": 500, + "legacy_usdc_extract_low_depth_bps": 200, + "legacy_usdc_extract_hard_bps": 1000, + "legacy_usdt_extract_default_bps": 300, + "legacy_usdt_extract_hard_bps": 500, + "usdc_to_usdt_rotation_max_wallet_bps": 1500, + "min_mainnet_eth_for_relay_and_support_tx_wei": "4000000000000000", + "mainnet_legacy_usdc_pool": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "mainnet_legacy_usdt_pool": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "mainnet_v2_usdc_pool": "0xf633D2617316096e876E9C693111B8e76CE95302", + "mainnet_v2_usdt_pool": "0x983D9ac22967209821C908e95FeACC37baA6fECA", + "mainnet_v2_cross_pool": "0x75de278142F153Ac47646a7bb7Ded3317a3bDBE7" + }, + "assets": { + "mainnet": { + "usdc": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "usdt": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "weth": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "cwusdc_legacy": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "cwusdt_legacy": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "cwusdc_v2": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "cwusdt_v2": "0x7E8FF0DcC974F290a29968e9350800a6df674447" + }, + "chain138": { + "link": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "weth9": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "cusdc_v2": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "cusdt_v2": "0x9FBfab33882Efe0038DAa608185718b772EE5660" + } + }, + "capital_retention": { + "retain_bps_early": 3000, + "redeploy_bps_early": 7000, + "retain_bps_mid": 4000, + "redeploy_bps_mid": 6000, + "retain_bps_mature": 5000, + "redeploy_bps_mature": 5000, + "min_wallet_usdc_raw": 25000000, + "min_wallet_usdt_raw": 5000000 + }, + "stage_thresholds": { + "early_direct_exit_usd": 1000, + "mid_direct_exit_usd": 10000, + "mature_direct_exit_usd": 100000 + }, + "pricing_guardrails": { + "max_cwusdc_usdc_deviation_bps": 50, + "max_cwusdt_usdt_deviation_bps": 75, + "pause_on_deviation_bps": 100 + }, + "debt_leverage": { + "enabled": false, + "turn_on_min_wallet_canonical_usd": 25000, + "turn_on_min_direct_exit_usd": 100000, + "turn_on_min_successful_cycles": 25, + "turn_on_max_price_deviation_bps": 100, + "turn_on_required_relays": [ + "mainnet-cw", + "mainnet-weth" + ], + "max_initial_leverage_multiple": 1.25, + "max_mid_leverage_multiple": 1.5, + "max_mature_leverage_multiple": 2.0, + "default_gross_pct": 0.29, + "default_flash_fee_pct": 0.09, + "default_gas_pct": 0.1, + "default_liquidity_pct": 0.01, + "min_profit_pct": 0.05 + }, + "actions": { + "recover_relay_gas": { + "script": "scripts/deployment/recover-relay-gas.sh", + "mode": "weth_rescue", + "default_rescue_weth_wei": "5000000000000000" + }, + "matched_add_cwusdc_v2_usdc": { + "script": "scripts/deployment/add-mainnet-public-dodo-cw-liquidity.sh", + "pair": "cwusdcv2-usdc", + "mode": "matched" + }, + "matched_add_cwusdt_v2_usdt": { + "script": "scripts/deployment/add-mainnet-public-dodo-cw-liquidity.sh", + "pair": "cwusdtv2-usdt", + "mode": "matched" + }, + "extract_legacy_usdc": { + "script": "scripts/deployment/run-mainnet-public-dodo-cw-swap.sh", + "pair": "cwusdc-usdc", + "direction": "base-to-quote" + }, + "extract_legacy_usdt": { + "script": "scripts/deployment/run-mainnet-public-dodo-cw-swap.sh", + "pair": "cwusdt-usdt", + "direction": "base-to-quote" + }, + "bridge_canonical_to_mainnet_cw": { + "script": "scripts/bridge/bridge-canonical-token-to-mainnet-cw.sh" + }, + "growth_cycle_with_retention": { + "script": "scripts/deployment/run-growth-cycle-with-retention.sh", + "bridge_wait_seconds": 60, + "bridge_poll_seconds": 5 + }, + "growth_stage_report": { + "script": "scripts/verify/build-growth-stage-report.sh" + }, + "growth_pricing_guardrails": { + "script": "scripts/verify/check-growth-pricing-guardrails.sh" + }, + "retained_capital_report": { + "script": "scripts/verify/build-retained-capital-report.sh" + }, + "leverage_readiness_report": { + "script": "scripts/verify/build-leverage-readiness-report.sh" + }, + "debt_leverage_cycle": { + "script": "scripts/deployment/run-debt-leverage-cycle.sh" + } + }, + "loop_defaults": { + "simulation_rounds_default": 250, + "simulation_rate_bps": [ + 200, + 500, + 1000 + ], + "deploy_idle_canonical_stable": true, + "prefer_usdc_loop": true + }, + "mev_assist": { + "available": true, + "path": "MEV_Bot/mev-platform", + "can_help_with": [ + "private_or_sequenced_execution_surfaces", + "gas_and_inclusion_observability", + "state_ingestion_and_route_health", + "execution_timing_and_replay" + ], + "cannot_replace": [ + "canonical_quote_side_liquidity", + "bridge_inventory", + "actual_stable_capital_growth" + ], + "use_policy": "optional_execution_quality_assist_only" + } +} diff --git a/config/extraction/gru-v2-wave1-public-seed-policy.json b/config/extraction/gru-v2-wave1-public-seed-policy.json new file mode 100644 index 00000000..790feeed --- /dev/null +++ b/config/extraction/gru-v2-wave1-public-seed-policy.json @@ -0,0 +1,85 @@ +{ + "description": "Bootstrap seed policy for the universal GRU v2 public Wave 1 DODO PMM operator. These values are conservative operator defaults, not live market guarantees. Review and refresh before execute.", + "defaults": { + "fee_bps": 3, + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "symbol_defaults": { + "cWUSDT": { + "initial_price_e18": "1000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWUSDC": { + "initial_price_e18": "1000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWEURC": { + "initial_price_e18": "1080000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWEURT": { + "initial_price_e18": "1080000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWGBPC": { + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWGBPT": { + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWAUDC": { + "initial_price_e18": "660000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWJPYC": { + "initial_price_e18": "6700000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWCHFC": { + "initial_price_e18": "1110000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWCADC": { + "initial_price_e18": "740000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWXAUC": { + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "1000000", + "mint_base_amount_raw": "1000000" + }, + "cWXAUT": { + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "1000000", + "mint_base_amount_raw": "1000000" + } + }, + "pair_overrides": {} +} diff --git a/config/extraction/immediate-liquidity-expansion-thresholds.json b/config/extraction/immediate-liquidity-expansion-thresholds.json new file mode 100644 index 00000000..79294b30 --- /dev/null +++ b/config/extraction/immediate-liquidity-expansion-thresholds.json @@ -0,0 +1,19 @@ +{ + "generated_at": "2026-04-16T02:03:35Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "direct_exit_support_fraction": "0.05", + "target_exit_usd": [ + 25000, + 100000, + 250000, + 1000000 + ], + "default_target_exit_usd": 100000, + "default_sweep_raw": 1000000, + "sweep_slippage_bps": 100, + "notes": [ + "Target exit USD is translated into required usable-side reserves under the 5% direct-exit heuristic.", + "All deployment wrappers are dry-run by default and require an explicit --execute flag for mutations." + ] +} diff --git a/config/extraction/liquidity-improvement-thresholds.json b/config/extraction/liquidity-improvement-thresholds.json new file mode 100644 index 00000000..c5883da8 --- /dev/null +++ b/config/extraction/liquidity-improvement-thresholds.json @@ -0,0 +1,35 @@ +{ + "generated_at": "2026-04-16T02:03:47Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "lp_withdrawal": { + "default_slippage_bps": 100, + "test_share_divisor": 1000, + "deadline_seconds": 3600, + "tranche_percentages": [ + 1, + 5, + 10, + 25, + 50, + 100 + ] + }, + "bridge_canary": { + "human_amount": "1", + "expected_amount_raw": "1000000", + "poll_interval_seconds": 15, + "timeout_seconds": 900 + }, + "mainnet_exit": { + "raw_sizes": [ + 1000000, + 10000000 + ], + "default_slippage_bps": 100 + }, + "notes": [ + "All flows are dry-run by default unless the underlying script already supports an explicit execute flag.", + "Thresholds are intentionally conservative and operator-oriented." + ] +} diff --git a/config/extraction/tranche-thresholds.json b/config/extraction/tranche-thresholds.json new file mode 100644 index 00000000..367d579c --- /dev/null +++ b/config/extraction/tranche-thresholds.json @@ -0,0 +1,21 @@ +{ + "generated_at": "2026-04-16T02:03:10Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "sizes_usd": [ + 10000, + 25000, + 50000, + 100000 + ], + "thresholds": { + "max_simulated_slippage_pct": 5.0, + "max_fee_pct": 1.0, + "max_bridge_latency_seconds": 1800, + "max_operational_steps": 3 + }, + "notes": [ + "These thresholds are for dry-run and simulation gating only.", + "Any route with manual-required bridge steps is automatically capped unless bridged live in a separate operator workflow." + ] +} diff --git a/config/extraction/treasury-segmentation-policy.json b/config/extraction/treasury-segmentation-policy.json new file mode 100644 index 00000000..c841daac --- /dev/null +++ b/config/extraction/treasury-segmentation-policy.json @@ -0,0 +1,74 @@ +{ + "generated_at": "2026-04-16T02:03:19Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status": "inferred", + "buckets": { + "gas_reserve": { + "purpose": "Per-chain native gas needed to keep read/write optionality alive.", + "minimum_floor_usd": 25, + "movement_rule": "May top up from stable working capital only after operator review." + }, + "stable_working_capital": { + "purpose": "Assets intentionally used for controlled extraction or collateral pilot workflows.", + "minimum_floor_usd": 250000, + "movement_rule": "Use only through approved corridors with ledgered outputs." + }, + "bridge_inventory": { + "purpose": "Assets whose main role is to move value between Chain 138 and public chains.", + "minimum_floor_usd": 0, + "movement_rule": "Use only when route health is green and fallback exists." + }, + "lp_reserve": { + "purpose": "LP claims that currently anchor internal stable liquidity.", + "minimum_floor_usd": 1000000, + "movement_rule": "Planned partial or emergency full only; no ad hoc removal." + }, + "non_core_wrappers": { + "purpose": "Wrapped or synthetic assets without near-term reliable canonical exits.", + "minimum_floor_usd": 0, + "movement_rule": "Do not include in routine extraction forecasts." + }, + "protected_reserve": { + "purpose": "Inventory intentionally excluded from routine extraction until stronger public depth exists.", + "minimum_floor_usd": 1000000, + "movement_rule": "No movement under this pack; manual governance only." + } + }, + "wallet_roles": { + "current_state": [ + { + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "role": "mixed-use / overconcentrated", + "status": "live-read", + "notes": "Current state collapses reserve, bridge inventory, LP custody, and extraction inventory into one wallet." + } + ], + "target_state": [ + { + "role": "execution", + "status": "manual-required", + "notes": "Dedicated working wallet for approved exits only." + }, + { + "role": "reserve", + "status": "manual-required", + "notes": "Protected reserve wallet with no routine route execution." + }, + { + "role": "external-canonical-stable", + "status": "manual-required", + "notes": "Clean landing wallet for realized USDC/USDT only." + }, + { + "role": "testing", + "status": "manual-required", + "notes": "Low-balance wallet for corridor rehearsal and approvals." + } + ] + }, + "movement_rules": [ + "No asset movement from protected reserve to execution wallet without manual operator sign-off.", + "Realized canonical stable balances should not be mixed with bridge inventory or non-core wrappers.", + "LP reserve withdrawals should follow the stable LP runbook and preserve reserve floor assumptions." + ] +} diff --git a/docs/03-deployment/EXTRACTION_GAP_CLOSURE_PACK.md b/docs/03-deployment/EXTRACTION_GAP_CLOSURE_PACK.md new file mode 100644 index 00000000..4749f7f0 --- /dev/null +++ b/docs/03-deployment/EXTRACTION_GAP_CLOSURE_PACK.md @@ -0,0 +1,23 @@ +# Extraction Gap Closure Pack + +- Generated: `2026-04-16T02:03:22Z` +- This pack is read-only / dry-run by default and is designed to close execution gaps around convertibility, realizable capital, LP access, and treasury segmentation. + +## Commands + +| Workstream | Command | JSON Output | Markdown Output | +|---|---|---|---| +| Canonical exit corridor map | `bash scripts/verify/build-canonical-exit-corridor-map.sh` | `config/extraction/canonical-exit-corridors.json` | `docs/03-deployment/CANONICAL_EXIT_CORRIDOR_MAP.md` | +| Tranche capacity tests | `bash scripts/verify/run-corridor-tranche-capacity-tests.sh` | `reports/extraction/corridor-capacity-latest.json` | `docs/03-deployment/CORRIDOR_TRANCHE_CAPACITY_REPORT.md` | +| Stable LP withdrawal verification | `bash scripts/verify/verify-stable-lp-withdrawal-readiness.sh` | `reports/extraction/stable-lp-verification-latest.json` | `docs/03-deployment/STABLE_LP_WITHDRAWAL_VERIFICATION_RUNBOOK.md` | +| Realizable capital ladder | `bash scripts/verify/build-realizable-capital-ladder.sh` | `reports/extraction/realizable-capital-ladder-latest.json` | `docs/03-deployment/REALIZABLE_CAPITAL_LADDER.md` | +| Treasury segmentation | `bash scripts/verify/build-treasury-segmentation-assignment.sh` | `reports/extraction/treasury-segmentation-assignment-latest.json` + `config/extraction/treasury-segmentation-policy.json` | `docs/03-deployment/TREASURY_SEGMENTATION_POLICY.md` | +| Full pack | `bash scripts/verify/run-extraction-gap-closure-pack.sh` | all | all | +| Validation | `bash scripts/validation/validate-extraction-gap-closure-pack.sh` | n/a | terminal output | + +## Status Labels + +- `live-read`: directly verified by read-only RPC or local machine-readable artifact during generation. +- `simulated`: no live funds moved; capacity or withdrawal behavior is inferred from reserves / balances / route structure. +- `inferred`: metadata or valuation layer built from curated repo intelligence and prior audit evidence. +- `manual-required`: action exists but cannot be confirmed safely inside this pack without a separate mutation workflow. diff --git a/docs/03-deployment/IMMEDIATE_LIQUIDITY_EXPANSION_PACK.md b/docs/03-deployment/IMMEDIATE_LIQUIDITY_EXPANSION_PACK.md new file mode 100644 index 00000000..39a06006 --- /dev/null +++ b/docs/03-deployment/IMMEDIATE_LIQUIDITY_EXPANSION_PACK.md @@ -0,0 +1,71 @@ +# Immediate Liquidity Expansion Pack + +- Generated: `2026-04-16T02:03:39Z` +- Wallet: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` +- This pack focuses on GRU V2 parity, direct-exit pool funding, sweep execution, and before/after liquidity deltas. + +## Commands + +| Artifact | Command | +|---|---| +| GRU V2 Mainnet parity report | `bash scripts/verify/build-gru-v2-mainnet-bridge-parity.sh` | +| Quote-side funding plan | `bash scripts/verify/build-mainnet-direct-exit-funding-plan.sh` | +| GRU V2 funding plan | `bash scripts/verify/build-gru-v2-mainnet-funding-plan.sh` | +| Realize-to-canonical sweep plan | `bash scripts/verify/build-realize-to-canonical-sweep-plan.sh` | +| Liquidity-state delta report | `bash scripts/verify/build-liquidity-state-delta-report.sh` | +| Run full pack | `bash scripts/verify/run-immediate-liquidity-expansion-pack.sh` | +| Validate | `bash scripts/validation/validate-immediate-liquidity-expansion-pack.sh` | +| Execute GRU V2 parity | `bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --execute` | +| Execute V2 funding | `bash scripts/deployment/run-gru-v2-mainnet-funding.sh --execute` | +| Apply direct-exit funding | `bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=quote-only --target-usd=100000 --execute` | +| Execute realize sweep | `bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdt-usdt --amount-raw=1000000 --execute` | + +## GRU V2 Parity + +- Overall ready: `True` +- Coexistence ready: `True` +- V1 displaced assets on shared lanes: `none` + +| Asset | Corridor Ready | Chain 138 Balance Raw | +|---|---|---:| +| `cUSDC_V2` | `True` | `75000000000` | +| `cUSDT_V2` | `True` | `75000000000` | + +## Lane Policy + +- Shared Mainnet mirrored lanes: `False` +- V2 cutover active: `False` +- Distinct mirrored tokens required for V1/V2 coexistence: `True` +- Code reference: `smom-dbis-138/contracts/bridge/CWMultiTokenBridgeL2.sol:88` + +## Direct Exit Funding + +| Pair | Current Capacity USD | Recommended Next Quote-Only Target | +|---|---:|---:| +| `cwusdc-usdc` | `$11.89` | `25000` | +| `cwusdt-usdt` | `$0.12` | `25000` | +| `cwusdcv2-usdc` | `$0.00` | `None` | +| `cwusdtv2-usdt` | `$0.00` | `None` | + +## GRU V2 Funding + +| Asset | Target Exit USD | Mint Needed Raw | Bridge Raw | Quote Requirement Raw | Quote Side Ready Now | +|---|---:|---:|---:|---:|---| +| `cUSDC_V2` | `100000` | `1925000000000` | `2000000000000` | `2000000000000` | `False` | +| `cUSDT_V2` | `100000` | `1925000000000` | `2000000000000` | `2000000000000` | `False` | + +## Sweep + +| Pair | Current Direct Capacity USD | Post-Funding Target Exit USD | +|---|---:|---:| +| `cwusdc-usdc` | `$11.89` | `$100000` | +| `cwusdt-usdt` | `$0.12` | `$100000` | +| `cwusdcv2-usdc` | `$0.00` | `$100000` | +| `cwusdtv2-usdt` | `$0.00` | `$100000` | + +## Liquidity Delta + +- Direct exit capacity before: `$12.01` +- Direct exit capacity after quote-only adds: `$40.59` +- Direct exit capacity after full-target funding: `$400,000.00` +- Projected immediate liquid if full-target sweep executed: `$400,000.00` diff --git a/docs/03-deployment/LIQUIDITY_IMPROVEMENT_OPERATOR_PACK.md b/docs/03-deployment/LIQUIDITY_IMPROVEMENT_OPERATOR_PACK.md new file mode 100644 index 00000000..cee63935 --- /dev/null +++ b/docs/03-deployment/LIQUIDITY_IMPROVEMENT_OPERATOR_PACK.md @@ -0,0 +1,94 @@ +# Liquidity Improvement Operator Pack + +- Generated: `2026-04-16T02:03:48Z` +- Wallet: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` +- This pack is dry-run by default and focuses on the highest-impact code-resolved tasks for improving internal same-day LP access and immediate liquid position. + +## Commands + +| Artifact | Command | +|---|---| +| LP withdrawal canary plan | `bash scripts/verify/build-lp-withdrawal-canary-plan.sh` | +| LP tranche sizing | `bash scripts/verify/build-lp-tranche-sizing.sh` | +| Post-withdrawal routing plan | `bash scripts/verify/build-post-withdrawal-routing-plan.sh` | +| Bridge canary plan | `bash scripts/verify/build-bridge-canary-plan.sh` | +| Mainnet landing verification plan | `bash scripts/verify/build-mainnet-landing-verification-plan.sh` | +| Mainnet exit canary plan | `bash scripts/verify/build-mainnet-exit-canary-plan.sh` | +| Mainnet exit pool ranking | `bash scripts/verify/build-mainnet-exit-pool-ranking.sh` | +| End-to-end corridor canary | `bash scripts/verify/build-end-to-end-corridor-canary.sh` | +| Execution ledger | `bash scripts/verify/build-execution-ledger.sh` | +| Capital state report | `bash scripts/verify/build-capital-state-report.sh` | +| LP withdrawal executor | `bash scripts/verify/run-live-lp-withdrawal-canary.sh --pair cUSDT/cUSDC` | +| Bridge executor | `bash scripts/verify/run-live-bridge-canary.sh --symbol cUSDT` | +| Mainnet exit executor | `bash scripts/verify/run-live-mainnet-exit-canary.sh --symbol cWUSDT` | +| End-to-end executor | `bash scripts/verify/run-live-end-to-end-corridor-canary.sh` | +| Full operator pack | `bash scripts/verify/run-liquidity-improvement-pack.sh` | +| Validation | `bash scripts/validation/validate-liquidity-improvement-pack.sh` | + +## LP Withdrawal Canary + +| Pair | Share Raw | Base Min Raw | Quote Min Raw | +|---|---:|---:|---:| +| `cUSDT/cUSDC` | `999999996` | `974052284` | `1005947707` | +| `cUSDT/USDT` | `999999996` | `989873771` | `990126220` | +| `cUSDC/USDC` | `999999996` | `1000358365` | `979641626` | + +## LP Tranche Sizing + +| Pair | 1% | 5% | 10% | 25% | +|---|---|---|---|---| +| `cUSDT/cUSDC` | `9838.911970/10161.087970` | `49194.559851/50805.439849` | `98389.119701/101610.879698` | `245972.799253/254027.199245` | +| `cUSDT/USDT` | `9998.724970/10001.274970` | `49993.624850/50006.374850` | `99987.249700/100012.749700` | `249968.124249/250031.874249` | +| `cUSDC/USDC` | `10104.629970/9895.369970` | `50523.149849/49476.849850` | `101046.299699/98953.699701` | `252615.749246/247384.249252` | + +## Post-Withdrawal Routing + +| Symbol | Preferred Route | Status | +|---|---|---| +| `USDC` | `local-wrap-then-bridge` | `simulated` | +| `USDT` | `local-wrap-then-bridge` | `simulated` | +| `cUSDC` | `bridge-direct-to-mainnet-cWUSDC-then-exit` | `simulated` | +| `cUSDT` | `bridge-direct-to-mainnet-cWUSDT-then-exit` | `simulated` | + +## Bridge Canary + +| Asset | Dry Run OK | Corridor Ready | +|---|---|---| +| `cUSDT` | `True` | `True` | +| `cUSDC` | `True` | `True` | + +## Mainnet Landing Baselines + +| Asset | Mirrored Token | Baseline Raw | +|---|---|---:| +| `cUSDT` | `0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae` | `8888909964479` | +| `cUSDC` | `0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a` | `8888610523693` | + +## Mainnet Exit Canary + +| Symbol | Pair | Est Out Raw | Status | +|---|---|---:|---| +| `cWUSDC` | `cwusdc-usdc` | `1000000` | `simulated` | +| `cWUSDT` | `cwusdt-usdt` | `1000000` | `simulated` | + +## Mainnet Exit Pool Ranking + +| Rank | Route | Quote Score | +|---:|---|---:| +| 1 | `cwusdc-direct-usdc` | `1.9537245730253645333087641666382668762180665215405` | +| 2 | `cwusdt-via-cwusdc-to-usdc` | `1.9537245730253645333087641666382668762180665215405` | +| 3 | `cwusdt-direct-usdt` | `0.58408423458813733372207593540495430541443302570817` | + +## Capital State + +- Nominal total USD: `$6,872,703,072.17` +- Immediate liquid position USD: `$0.00` +- Internal same-day via LP withdrawal USD: `$5,999,999.98` +- Near-immediate Mainnet cW exit USD: `$17,777,520.49` +- Near-term actionable USD: `$23,777,520.47` + +## End-to-End Canary Gates + +- Do not broadcast stage 2 unless stage 1 has landed and balances were reconciled. +- Do not broadcast stage 3 unless stage 2 landing verification passes. +- Stop immediately on any min-out, fee, or latency breach. diff --git a/reports/extraction/accessible-liquidity-pools-inventory-latest.json b/reports/extraction/accessible-liquidity-pools-inventory-latest.json new file mode 100644 index 00000000..5bfce1fb --- /dev/null +++ b/reports/extraction/accessible-liquidity-pools-inventory-latest.json @@ -0,0 +1,2752 @@ +{ + "generated_at": "2026-04-16T18:22:10.834693Z", + "description": "Machine-readable accessible liquidity pool inventory from the public cW deployment graph, Chain 138 canonical venues, and Mainnet coexistence references.", + "sources": [ + "cross-chain-pmm-lps/config/deployment-status.json", + "config/smart-contracts-master.json", + "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "docs/11-references/DEPLOYED_TOKENS_BRIDGES_LPS_AND_ROUTING_STATUS.md", + "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json" + ], + "summary": { + "pool_count": 162, + "network_count": 12, + "venue_count": 6, + "public_routing_enabled_count": 129, + "counts_by_network": { + "Arbitrum One": 12, + "Avalanche C-Chain": 12, + "BSC (BNB Chain)": 12, + "Base": 12, + "Celo": 12, + "Chain 138": 17, + "Cronos": 14, + "Ethereum Mainnet": 29, + "Gnosis Chain": 12, + "Optimism": 14, + "Polygon": 14, + "Wemix": 2 + }, + "counts_by_venue": { + "balancer": 2, + "curve_3": 1, + "dodo_pmm": 154, + "dodo_v3_d3mm": 1, + "oneinch": 2, + "uniswap_v3": 2 + }, + "counts_by_category": { + "canonical_stable_public": 3, + "gas_native_pmm": 22, + "legacy_cross_cw": 1, + "legacy_direct_exit": 2, + "legacy_secondary_exit": 2, + "native_public": 2, + "pilot_native": 5, + "pilot_private": 1, + "public_cw_pmm": 111, + "v2_coexistence": 5, + "volatile_support": 2, + "xau_private": 3, + "xau_public": 3 + } + }, + "pools": [ + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWETH/USDC", + "base": "cWETH", + "quote": "USDC", + "address": "0xd012000000000000000000000000000000000001", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWETH/WETH", + "base": "cWETH", + "quote": "WETH", + "address": "0xd011000000000000000000000000000000000001", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT/cWUSDC", + "base": "cWUSDT", + "quote": "cWUSDC", + "address": "0xe944b7Cb012A0820c07f54D51e92f0e1C74168DB", + "venue": "dodo_pmm", + "category": "legacy_cross_cw", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": { + "status": "live-read", + "base_reserve_raw": "1099960256630", + "quote_reserve_raw": "1100039756747", + "base_reserve_human_6dp": "1099960.256630", + "quote_reserve_human_6dp": "1100039.756747" + }, + "notes": [ + "coexistence_inventory" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDC/USDC", + "base": "cWUSDC", + "quote": "USDC", + "address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "venue": "dodo_pmm", + "category": "legacy_direct_exit", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": { + "status": "live-read", + "base_reserve_raw": "803044122", + "quote_reserve_raw": "237707153", + "base_reserve_human_6dp": "803.044122", + "quote_reserve_human_6dp": "237.707153" + }, + "notes": [ + "coexistence_inventory" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT/USDT", + "base": "cWUSDT", + "quote": "USDT", + "address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "venue": "dodo_pmm", + "category": "legacy_direct_exit", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": { + "status": "live-read", + "base_reserve_raw": "8845664", + "quote_reserve_raw": "2404333", + "base_reserve_human_6dp": "8.845664", + "quote_reserve_human_6dp": "2.404333" + }, + "notes": [ + "coexistence_inventory" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDC/USDT", + "base": "cWUSDC", + "quote": "USDT", + "address": "0xCC0fd27A40775c9AfcD2BBd3f7c902b0192c247A", + "venue": "dodo_pmm", + "category": "legacy_secondary_exit", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": { + "status": "live-read", + "base_reserve_raw": "8416870", + "quote_reserve_raw": "2792440", + "base_reserve_human_6dp": "8.416870", + "quote_reserve_human_6dp": "2.792440" + }, + "notes": [ + "coexistence_inventory" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT/USDC", + "base": "cWUSDT", + "quote": "USDC", + "address": "0x27f3aE7EE71Be3d77bAf17d4435cF8B895DD25D2", + "venue": "dodo_pmm", + "category": "legacy_secondary_exit", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": { + "status": "live-read", + "base_reserve_raw": "9095629", + "quote_reserve_raw": "2342047", + "base_reserve_human_6dp": "9.095629", + "quote_reserve_human_6dp": "2.342047" + }, + "notes": [ + "coexistence_inventory" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0x6c1bD4F43c5f330E50B61DE81066dA7C61a9b5b4", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0xE0F35b5736FDd0a2F4B618621b0A08F8D8A3f92A", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0x776Ca556deD3245984F504F4bef8Eeec55C50190", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0x0bC750F9c6DbDcd76B205695A356491b1B9ef098", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0x9cF3DeDAaC0984c530801b9b4881c8f99Bb329c3", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0x5488042dF882893a3e7074453E2005CaDE4101b0", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0xA42566bb730AD6D551Db32d50c0877132fc07c32", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0x8A4187dF0A8FE855cC53A4F7B2D8346588Ee9794", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDC/USDC", + "base": "cWUSDC", + "quote": "USDC", + "address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDC/USDT", + "base": "cWUSDC", + "quote": "USDT", + "address": "0xCC0fd27A40775c9AfcD2BBd3f7c902b0192c247A", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT/USDC", + "base": "cWUSDT", + "quote": "USDC", + "address": "0x27f3aE7EE71Be3d77bAf17d4435cF8B895DD25D2", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT/USDT", + "base": "cWUSDT", + "quote": "USDT", + "address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT/cWUSDC", + "base": "cWUSDT", + "quote": "cWUSDC", + "address": "0xe944b7Cb012A0820c07f54D51e92f0e1C74168DB", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0xf6470219ce7749f8860dEABe9c347Ef2c1075E08", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0x1D51a38C924382287d770AbB61deb9C39ACa96E9", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDC_V2/USDC", + "base": "cWUSDC_V2", + "quote": "USDC", + "address": "0xf633D2617316096e876E9C693111B8e76CE95302", + "venue": "dodo_pmm", + "category": "v2_coexistence", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": null, + "notes": [ + "distinct_v2_mirror_surface" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDC_V2/USDT", + "base": "cWUSDC_V2", + "quote": "USDT", + "address": "0xCdb7392238ED11EcB57C5C001c62302b00062Af8", + "venue": "dodo_pmm", + "category": "v2_coexistence", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": null, + "notes": [ + "distinct_v2_mirror_surface" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT_V2/USDC", + "base": "cWUSDT_V2", + "quote": "USDC", + "address": "0x55F137b28af87B165423a68Ebb3D42699556E9Af", + "venue": "dodo_pmm", + "category": "v2_coexistence", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": null, + "notes": [ + "distinct_v2_mirror_surface" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT_V2/USDT", + "base": "cWUSDT_V2", + "quote": "USDT", + "address": "0x983D9ac22967209821C908e95FeACC37baA6fECA", + "venue": "dodo_pmm", + "category": "v2_coexistence", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": null, + "notes": [ + "distinct_v2_mirror_surface" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT_V2/cWUSDC_V2", + "base": "cWUSDT_V2", + "quote": "cWUSDC_V2", + "address": "0x75de278142F153Ac47646a7bb7Ded3317a3bDBE7", + "venue": "dodo_pmm", + "category": "v2_coexistence", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "live-read", + "source_ref": "reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json", + "live_state": null, + "notes": [ + "distinct_v2_mirror_surface" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDC/TRUU", + "base": "cWUSDC", + "quote": "TRUU", + "address": "0x9A632F35078b6A4A9bf27806Bb7aFfAA2F16C846", + "venue": "dodo_pmm", + "category": "volatile_support", + "role": "truu_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "volatile_or_support_surface" + ] + }, + { + "network": "Ethereum Mainnet", + "chain_id": 1, + "pair": "cWUSDT/TRUU", + "base": "cWUSDT", + "quote": "TRUU", + "address": "0x508E5e80B66204b8CD9869323Fdd3A289ea50993", + "venue": "dodo_pmm", + "category": "volatile_support", + "role": "truu_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "volatile_or_support_surface" + ] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWETHL2/USDC", + "base": "cWETHL2", + "quote": "USDC", + "address": "0xd02200000000000000000000000000000000000a", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWETHL2/WETH", + "base": "cWETHL2", + "quote": "WETH", + "address": "0xd02100000000000000000000000000000000000a", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0x4B452800f6cD50326F14a6f089f4bB04e8079250", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0x19e1fdd037F1651AcEE11c5A5Aa246b85FA63f8e", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0xA97D7dfB93CBf0C10243931d93FFEda745222ec6", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0x78C6aC6D7CbFcd85A3291D656F2154979a92c00B", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0x631DfC86A03cB05319d7165198f8099dacF78e56", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0x79BE2b70A94E954d095f9F537FAf0741D15dfA31", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0x5D6b5d7CA165c39c350083255774DdBf1c858e12", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0x68C1c8a945ddCF3482b73aC09b6B5D4177D564AF", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWUSDC/USDC", + "base": "cWUSDC", + "quote": "USDC", + "address": "0x8F1038dE06d799a30D16d8B0b0ADEe629e7d4547", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWUSDT/USDT", + "base": "cWUSDT", + "quote": "USDT", + "address": "0xFCB0b0Ac36d67EDBA91100c75C27De945357CD62", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0xCE25c324e41049D75abfB81c23257984A2A97a79", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Optimism", + "chain_id": 10, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0xb3Ee650019d7F756ce0F79b69614Fa2761871775", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWCRO/USDT", + "base": "cWCRO", + "quote": "USDT", + "address": "0xd062000000000000000000000000000000000019", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWCRO/WCRO", + "base": "cWCRO", + "quote": "WCRO", + "address": "0xd061000000000000000000000000000000000019", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWAUDC/USDT", + "base": "cWAUDC", + "quote": "USDT", + "address": "0x5b5fA8664FC1eb630b2D76deAf57Dd35ef326eAE", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWCADC/USDT", + "base": "cWCADC", + "quote": "USDT", + "address": "0xFFe56BE4628f2863Cd7c38d3fFa70d6A3255FBD3", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWCHFC/USDT", + "base": "cWCHFC", + "quote": "USDT", + "address": "0x937E86f21007C15F28081DBD419ea39ef5bc87F2", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWEURC/USDT", + "base": "cWEURC", + "quote": "USDT", + "address": "0xbe68d6ae47049ce0EA5B6a82AB1c388f4023aec8", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWEURT/USDT", + "base": "cWEURT", + "quote": "USDT", + "address": "0xE3bb64f8F05dB65C9bb1103f5D7C445C402161Ec", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWGBPC/USDT", + "base": "cWGBPC", + "quote": "USDT", + "address": "0xDa60b22cDb3D3Ec67c309457Bd50C4e67D4611a4", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWGBPT/USDT", + "base": "cWGBPT", + "quote": "USDT", + "address": "0x1935d14D513E158D630488f2D20Cd28CFe23aAe6", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWJPYC/USDT", + "base": "cWJPYC", + "quote": "USDT", + "address": "0x97fD4E88490D8c4bcbe1930Cece12e8DD22529bE", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWUSDC/USDC", + "base": "cWUSDC", + "quote": "USDC", + "address": "0x8F1038dE06d799a30D16d8B0b0ADEe629e7d4547", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWUSDT/USDT", + "base": "cWUSDT", + "quote": "USDT", + "address": "0xFCB0b0Ac36d67EDBA91100c75C27De945357CD62", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWXAUC/USDT", + "base": "cWXAUC", + "quote": "USDT", + "address": "0xAA450B4Cf4EEc28C440850665546D85C67b4B2A6", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Cronos", + "chain_id": 25, + "pair": "cWXAUT/USDT", + "base": "cWXAUT", + "quote": "USDT", + "address": "0x8B11f71C0ABF2f8031c47cFd20d22b2ab2799183", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWBNB/USDT", + "base": "cWBNB", + "quote": "USDT", + "address": "0xd032000000000000000000000000000000000038", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWBNB/WBNB", + "base": "cWBNB", + "quote": "WBNB", + "address": "0xd031000000000000000000000000000000000038", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWAUDC/USDT", + "base": "cWAUDC", + "quote": "USDT", + "address": "0x85E2C97a931D1e5Ed31F4D6cb4094fB036AE4ED4", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWCADC/USDT", + "base": "cWCADC", + "quote": "USDT", + "address": "0xE193bd2f602CaC833330c6835f934f3958a7785b", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWCHFC/USDT", + "base": "cWCHFC", + "quote": "USDT", + "address": "0x02F70D646B57439faF5dF1B16d2B174Ee2A9F373", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWEURC/USDT", + "base": "cWEURC", + "quote": "USDT", + "address": "0xaF1EA2c0105C90C819849FBFE931D61a11De4793", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWEURT/USDT", + "base": "cWEURT", + "quote": "USDT", + "address": "0x6b97090c974eCAf77dC4e390B044F87Ec71f5fA1", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWGBPC/USDT", + "base": "cWGBPC", + "quote": "USDT", + "address": "0x5e19913eDaAcaB436AbF635e58f2453323cB2CB3", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWGBPT/USDT", + "base": "cWGBPT", + "quote": "USDT", + "address": "0x439C447b4FDa58fcAF587F0A042662A46029dC7c", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWJPYC/USDT", + "base": "cWJPYC", + "quote": "USDT", + "address": "0xBEceD3b25448F648a36Fa9dd6D17a68CB6e61f36", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWXAUC/USDT", + "base": "cWXAUC", + "quote": "USDT", + "address": "0xe9306557758c19cb8FbeEb4777dc7b14f251f67c", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "BSC (BNB Chain)", + "chain_id": 56, + "pair": "cWXAUT/USDT", + "base": "cWXAUT", + "quote": "USDT", + "address": "0xfB094EC50d932bCD004E4136EfB62119c0f576E1", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWXDAI/USDC", + "base": "cWXDAI", + "quote": "USDC", + "address": "0xd072000000000000000000000000000000000064", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWXDAI/WXDAI", + "base": "cWXDAI", + "quote": "WXDAI", + "address": "0xd071000000000000000000000000000000000064", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0xeb5A688dF70be2F790719872Be9Ecc5648aEE460", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0x45177D998F4022aeaa046C60e734aEf8c18aCb70", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0x9ff24E16c5687330c271a52655971c7C2498FaC8", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0x8c8d6cc14111443Ef8572D58Df387a1E497b7C43", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0xB73e4C13757EE99540A1F0e973980E423987De19", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0xf060E1B29FF714f5Ac89F8Bd3869cF300C5b387f", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0x3adB3fB8451727fDEBe3D00617170dAF3725F6B4", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0xe11936EcE13B5f04156898a510B86493F2862042", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0x02BE3C506FD5541c8225dB43C6FFC5a39ADd803E", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Gnosis Chain", + "chain_id": 100, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0x7069d10A0E4496D0CEa08Ff27EaE9de0BB7D0d23", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWPOL/USDC", + "base": "cWPOL", + "quote": "USDC", + "address": "0xd042000000000000000000000000000000000089", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWPOL/WPOL", + "base": "cWPOL", + "quote": "WPOL", + "address": "0xd041000000000000000000000000000000000089", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0xbD34966FE5Eed81AFffF8081e9BB527Fc8066783", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0xc79da1E8B33E580d53C683923685B26FFC653650", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0x30dAeF9a8Dd4aEc2949013Fe18b5Ab3C2505D825", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0x0c6F5D3d8d52cBC52849327F6eC6aE52C8497A8D", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0x36aB6bef2B3335ebf6a762665978bf5e845FDEC0", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0x7a95f67E31f271A6a83219d8368D963Ee2fC106B", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0xC3645c7153b7B72556e322aA1E72D77536d9A3DE", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0x09658d8d81aa8fa7a21eD973787638f245bc3fe0", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWUSDC/USDC", + "base": "cWUSDC", + "quote": "USDC", + "address": "0x8F1038dE06d799a30D16d8B0b0ADEe629e7d4547", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWUSDT/USDT", + "base": "cWUSDT", + "quote": "USDT", + "address": "0xFCB0b0Ac36d67EDBA91100c75C27De945357CD62", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0x3c3b9Bd130fB3aBcC0E0CE6552795DD56BCCc55c", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Polygon", + "chain_id": 137, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0x37D5587Bbe17571cDe96DAB7b2e7EA234C87f525", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cUSDC/USDC", + "base": "cUSDC", + "quote": "USDC", + "address": "0xc39B7D0F40838cbFb54649d327f49a6DAC964062", + "venue": "dodo_pmm", + "category": "canonical_stable_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cUSDT/USDT", + "base": "cUSDT", + "quote": "USDT", + "address": "0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66", + "venue": "dodo_pmm", + "category": "canonical_stable_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cUSDT/cUSDC", + "base": "cUSDT", + "quote": "cUSDC", + "address": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "venue": "dodo_pmm", + "category": "canonical_stable_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "WETH/USDC", + "base": "WETH", + "quote": "USDC", + "address": "0xEC745bfb6b3cd32f102d594E5F432d8d85B19391", + "venue": "uniswap_v3", + "category": "native_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "WETH/USDT", + "base": "WETH", + "quote": "USDT", + "address": "0xa893add35aEfe6A6d858EB01828bE4592f12C9F5", + "venue": "uniswap_v3", + "category": "native_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "USDT/USDC", + "base": "USDT", + "quote": "USDC", + "address": "0xE440Ec15805BE4C7BabCD17A63B8C8A08a492e0f", + "venue": "curve_3", + "category": "pilot_native", + "role": "pilot_surface", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "WETH/USDC", + "base": "WETH", + "quote": "USDC", + "address": "0x500B84b1Bc6F59C1898a5Fe538eA20A758757A4F", + "venue": "oneinch", + "category": "pilot_native", + "role": "pilot_surface", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "WETH/USDC", + "base": "WETH", + "quote": "USDC", + "address": "0x96423d7C1727698D8a25EbFB88131e9422d1a3C3", + "venue": "balancer", + "category": "pilot_native", + "role": "pilot_surface", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "WETH/USDT", + "base": "WETH", + "quote": "USDT", + "address": "0x500B84b1Bc6F59C1898a5Fe538eA20A758757A4F", + "venue": "oneinch", + "category": "pilot_native", + "role": "pilot_surface", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "WETH/USDT", + "base": "WETH", + "quote": "USDT", + "address": "0x96423d7C1727698D8a25EbFB88131e9422d1a3C3", + "venue": "balancer", + "category": "pilot_native", + "role": "pilot_surface", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "WETH10/USDT", + "base": "WETH10", + "quote": "USDT", + "address": "0x6550A3a59070061a262a893A1D6F3F490afFDBDA", + "venue": "dodo_v3_d3mm", + "category": "pilot_private", + "role": "pilot_surface", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "config/smart-contracts-master.json", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cEURT/cXAUC", + "base": "cEURT", + "quote": "cXAUC", + "address": "0x505403093826D494983A93b43Aa0B8601078A44e", + "venue": "dodo_pmm", + "category": "xau_private", + "role": "private_registry", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [ + "private_pool_registry" + ] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cUSDC/cXAUC", + "base": "cUSDC", + "quote": "cXAUC", + "address": "0x7867D58567948e5b9908F1057055Ee4440de0851", + "venue": "dodo_pmm", + "category": "xau_private", + "role": "private_registry", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [ + "private_pool_registry" + ] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cUSDT/cXAUC", + "base": "cUSDT", + "quote": "cXAUC", + "address": "0x94316511621430423a2cff0C036902BAB4aA70c2", + "venue": "dodo_pmm", + "category": "xau_private", + "role": "private_registry", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [ + "private_pool_registry" + ] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cEURT/cXAUC", + "base": "cEURT", + "quote": "cXAUC", + "address": "0xbA99bc1eAAC164569d5AcA96C806934DDaF970Cf", + "venue": "dodo_pmm", + "category": "xau_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cUSDC/cXAUC", + "base": "cUSDC", + "quote": "cXAUC", + "address": "0xEA9Ac6357CaCB42a83b9082B870610363B177cBa", + "venue": "dodo_pmm", + "category": "xau_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [] + }, + { + "network": "Chain 138", + "chain_id": 138, + "pair": "cUSDT/cXAUC", + "base": "cUSDT", + "quote": "cXAUC", + "address": "0x1AA55E2001E5651349AfF5A63FD7A7Ae44f0F1b0", + "venue": "dodo_pmm", + "category": "xau_public", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md", + "live_state": null, + "notes": [] + }, + { + "network": "Wemix", + "chain_id": 1111, + "pair": "cWWEMIX/USDC", + "base": "cWWEMIX", + "quote": "USDC", + "address": "0xd092000000000000000000000000000000000457", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Wemix", + "chain_id": 1111, + "pair": "cWWEMIX/WWEMIX", + "base": "cWWEMIX", + "quote": "WWEMIX", + "address": "0xd091000000000000000000000000000000000457", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWETHL2/USDC", + "base": "cWETHL2", + "quote": "USDC", + "address": "0xd022000000000000000000000000000000002105", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWETHL2/WETH", + "base": "cWETHL2", + "quote": "WETH", + "address": "0xd021000000000000000000000000000000002105", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0xE450F94Dc06036aa80055Db298948C6692819545", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0x5E7448AA0e3172AEFE79439E14F7E59bc1C858E0", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0x0673Fa737f813Af2e37A0ae2CBCf7E225498ed6a", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0x72E6D93E9aF317321DF763a34068178c773FdA50", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0x51c2C4Dd1fc54E20207D0732f12802B33e0E2251", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0x5b8B474659A5BA675E74Ef364CcF559C53071B5b", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0xD035e0a6b82cDd9653261DC8259a3dbA1cF02C14", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0x64D91B738026fE1577773F3F36063d16C834F042", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0xb47776505B8E2bFC63197Cf2133857CD91e7abBb", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Base", + "chain_id": 8453, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0xE1C2bC36438B29E3b5092C0cB80531199874080D", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWETHL2/USDC", + "base": "cWETHL2", + "quote": "USDC", + "address": "0xd02200000000000000000000000000000000a4b1", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWETHL2/WETH", + "base": "cWETHL2", + "quote": "WETH", + "address": "0xd02100000000000000000000000000000000a4b1", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0x97f78713f5899a652d955B996BAb99E2CbbEcC5c", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0x6D3b55935F58b9433fc26743cd9E0F8963a4F6D8", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0x88437Cd15CB6b07Fd8cC9830f1b8fFf50275e691", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0x34c3Ae728a985Fd27f1887474bCf4e52847Cbb2c", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0xEEE8C51107aE64824c4a08a502202fA3E6213702", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0xFBa6D6d1471302Bf28CE7d94Be33f034b95d9AD0", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0xDcA29dfa59C8faF90e4437DEAe74474F78735cDe", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0xB6eaF7cEB4A6e9Bc6A57fEb51011B6Bb01632C1F", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0x41e67b8b5929e44C2b7A0D772E151FAD8D5303cd", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Arbitrum One", + "chain_id": 42161, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0xB6b15Ba233C95d164504e24209C1fAc3304059C7", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWCELO/USDC", + "base": "cWCELO", + "quote": "USDC", + "address": "0xd08200000000000000000000000000000000a4ec", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWCELO/WCELO", + "base": "cWCELO", + "quote": "WCELO", + "address": "0xd08100000000000000000000000000000000a4ec", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0xA9EC7819a009d05B16907FEC96426ed35D5fa0e3", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0xBB7f2A2360eC02CaFe433d8b6D8BB7a418B2342f", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0xfD8E36E2a4A462A33b5faF18DF927d3FA19daaEa", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0x0Bb6fCd38D5CeB702d4B359159dE7734619c5c32", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0x0d7a90CA1FfFC3Fa6F1A12D38c34F2628D8F6b4e", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0xd0dC102c96AF36f4a99DA435bE4Ee4758E5B3cf2", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0x4f87cf23f503810253fac18aEd5797bE04A88CEC", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0x15Db8FD5bAAb52511c7dF94d793AFe7d1dad06d0", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0xa9d3fdE50A5843682A9477E5DF7643D273ae36C9", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Celo", + "chain_id": 42220, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0x2900a6FA8Cef1bd5e6511172dc8580ECa6eE316b", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWAVAX/USDC", + "base": "cWAVAX", + "quote": "USDC", + "address": "0xd05200000000000000000000000000000000a86a", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWAVAX/WAVAX", + "base": "cWAVAX", + "quote": "WAVAX", + "address": "0xd05100000000000000000000000000000000a86a", + "venue": "dodo_pmm", + "category": "gas_native_pmm", + "role": "public_routing", + "public_routing_enabled": false, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [ + "placeholder_scaffold_not_live" + ] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWAUDC/USDC", + "base": "cWAUDC", + "quote": "USDC", + "address": "0x287edaBDA35195592d7CACe2C1A75eC66caF1D70", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWCADC/USDC", + "base": "cWCADC", + "quote": "USDC", + "address": "0x75Ec85467927512b01C9e0481Fb1902d2d7210dC", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWCHFC/USDC", + "base": "cWCHFC", + "quote": "USDC", + "address": "0x3a224eae91ac813a03E15d0c37B641bC6c2237d7", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWEURC/USDC", + "base": "cWEURC", + "quote": "USDC", + "address": "0xEE2742Fa6f70A40aB16c9b613c5cF6933bA92Cc3", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWEURT/USDC", + "base": "cWEURT", + "quote": "USDC", + "address": "0x8507F3F3cB121072c1e3f2D912d269CA9829eEF8", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWGBPC/USDC", + "base": "cWGBPC", + "quote": "USDC", + "address": "0x73542F7B1CBd4552Eb8FeFEB3D1884527424da58", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWGBPT/USDC", + "base": "cWGBPT", + "quote": "USDC", + "address": "0xa07dEe884555f2E9D04d0039FEF0b746987a8441", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWJPYC/USDC", + "base": "cWJPYC", + "quote": "USDC", + "address": "0x6175D065c602dab71A03753987D1ebEc99eFcC2e", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWXAUC/USDC", + "base": "cWXAUC", + "quote": "USDC", + "address": "0x5d3a4A3Dae9FEcFe979A784F55d994c9a9fBeAfB", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + }, + { + "network": "Avalanche C-Chain", + "chain_id": 43114, + "pair": "cWXAUT/USDC", + "base": "cWXAUT", + "quote": "USDC", + "address": "0x1392bb9f23F938E6c1cDaAAE5c45d29BE5f8C828", + "venue": "dodo_pmm", + "category": "public_cw_pmm", + "role": "public_routing", + "public_routing_enabled": true, + "source_type": "repo-read", + "source_ref": "cross-chain-pmm-lps/config/deployment-status.json", + "live_state": null, + "notes": [] + } + ] +} diff --git a/reports/extraction/bridge-canary-plan-latest.json b/reports/extraction/bridge-canary-plan-latest.json new file mode 100644 index 00000000..a117be46 --- /dev/null +++ b/reports/extraction/bridge-canary-plan-latest.json @@ -0,0 +1,78 @@ +{ + "generated_at": "2026-04-16T02:03:15Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "thresholds": { + "human_amount": "1", + "expected_amount_raw": "1000000", + "poll_interval_seconds": 15, + "timeout_seconds": 900 + }, + "assets": [ + { + "symbol": "cUSDT", + "status": "live-read", + "chain138_source_balance_raw": "75000000000", + "dry_run_ok": true, + "dry_run_excerpt": [ + "l1_destination_enabled=True", + "l1_destination_receiver=0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "fee_quote_1_token_wei=1000009600000000", + "mainnet_mirrored_token=0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae" + ], + "source_allowance_raw": "0", + "dry_run_error": null, + "bridge_readiness": { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + }, + "execute_command": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --approve --execute" + }, + { + "symbol": "cUSDC", + "status": "live-read", + "chain138_source_balance_raw": "75000000000", + "dry_run_ok": true, + "dry_run_excerpt": [ + "l1_destination_enabled=True", + "l1_destination_receiver=0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "fee_quote_1_token_wei=1000009600000000", + "mainnet_mirrored_token=0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a" + ], + "source_allowance_raw": "0", + "dry_run_error": null, + "bridge_readiness": { + "symbol": "cUSDC", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + }, + "execute_command": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDC --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --approve --execute" + } + ] +} diff --git a/reports/extraction/capital-state-latest.json b/reports/extraction/capital-state-latest.json new file mode 100644 index 00000000..ecdff543 --- /dev/null +++ b/reports/extraction/capital-state-latest.json @@ -0,0 +1,30 @@ +{ + "generated_at": "2026-04-16T02:03:48Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "nominal_total_usd": "6872703072.173878751248871214403674", + "immediate_liquid_position_usd": "0", + "internal_same_day_via_lp_withdrawal_usd": "5999999.981979", + "near_immediate_mainnet_cw_exit_usd": "17777520.488172", + "near_term_actionable_usd": "23777520.470151", + "best_mainnet_exit_routes": { + "cWUSDC": { + "route_id": "cwusdc-direct-usdc", + "aggregate_quote_score": "1.9537245730253645333087641666382668762180665215405", + "rank": 1 + }, + "cWUSDT": { + "route_id": "cwusdt-via-cwusdc-to-usdc", + "aggregate_quote_score": "1.9537245730253645333087641666382668762180665215405", + "rank": 2 + } + }, + "gates_closed": { + "lp_signature_confirmed": true, + "lp_direct_call_no_approval_confirmed": true, + "bridge_wiring_read_only_confirmed": true, + "mainnet_exit_dry_run_routes_available": true, + "live_lp_withdrawal_canary_executed": false, + "live_bridge_canary_executed": false, + "live_mainnet_exit_canary_executed": false + } +} diff --git a/reports/extraction/corridor-capacity-latest.json b/reports/extraction/corridor-capacity-latest.json new file mode 100644 index 00000000..c96e43e5 --- /dev/null +++ b/reports/extraction/corridor-capacity-latest.json @@ -0,0 +1,344 @@ +{ + "generated_at": "2026-04-16T02:03:12Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "threshold_config": { + "generated_at": "2026-04-16T02:03:12Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "sizes_usd": [ + 10000, + 25000, + 50000, + 100000 + ], + "thresholds": { + "max_simulated_slippage_pct": 5.0, + "max_fee_pct": 1.0, + "max_bridge_latency_seconds": 1800, + "max_operational_steps": 3 + }, + "notes": [ + "These thresholds are for dry-run and simulation gating only.", + "Any route with manual-required bridge steps is automatically capped unless bridged live in a separate operator workflow." + ] + }, + "corridors": [ + { + "corridor_id": "chain138-stable-lp-to-eth-stables", + "rank": "secondary", + "status": "manual-required", + "tests": [ + { + "size_usd": "10000", + "status": "manual-required", + "result": "manual-required", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "25000", + "status": "manual-required", + "result": "manual-required", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "50000", + "status": "manual-required", + "result": "manual-required", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "100000", + "status": "manual-required", + "result": "manual-required", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + } + ], + "quote_quality": "simulated", + "operational_complexity": "high", + "fallback_route": null, + "max_safe_tranche": 0, + "max_daily_cadence": "manual-only", + "labels": [ + "manual-required" + ] + }, + { + "corridor_id": "chain138-cusdc-to-eth-usdc", + "rank": "secondary", + "status": "simulated", + "tests": [ + { + "size_usd": "10000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "25000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "50000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "100000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + } + ], + "quote_quality": "simulated", + "operational_complexity": "high", + "fallback_route": null, + "max_safe_tranche": 0, + "max_daily_cadence": "manual-only", + "labels": [ + "simulated" + ] + }, + { + "corridor_id": "chain138-cusdt-to-eth-usdt", + "rank": "secondary", + "status": "simulated", + "tests": [ + { + "size_usd": "10000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "25000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "50000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + }, + { + "size_usd": "100000", + "status": "simulated", + "result": "constrained", + "slippage_estimate_pct": null, + "fee_estimate_pct": null, + "bridge_latency_estimate_seconds": 300, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack." + ] + } + ], + "quote_quality": "simulated", + "operational_complexity": "high", + "fallback_route": null, + "max_safe_tranche": 0, + "max_daily_cadence": "manual-only", + "labels": [ + "simulated" + ] + }, + { + "corridor_id": "eth-cwusdc-direct-usdc", + "rank": "primary", + "status": "live-read", + "tests": [ + { + "size_usd": "10000", + "status": "simulated", + "result": "threshold-breach", + "slippage_estimate_pct": "4206.86", + "fee_estimate_pct": "0.30", + "bridge_latency_estimate_seconds": 0, + "notes": [ + "Simulation is conservative and based on smallest verified PMM reserve side.", + "No live trade was sent; route uses public pool reserves as a proxy for tranche safety." + ] + } + ], + "quote_quality": "reserve-heuristic", + "operational_complexity": "medium", + "fallback_route": null, + "max_safe_tranche": 0, + "max_daily_cadence": "0/day", + "labels": [], + "supporting_surface": { + "pool_address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "status": "live-read", + "base_symbol": "cWUSDC", + "quote_symbol": "USDC", + "base_reserve": "803.044122", + "quote_reserve": "237.707153", + "base_reserve_usd": "803.044122", + "quote_reserve_usd": "237.707153", + "usable_side_usd": "237.707153" + } + }, + { + "corridor_id": "eth-cwusdt-direct-usdt", + "rank": "primary", + "status": "live-read", + "tests": [ + { + "size_usd": "10000", + "status": "simulated", + "result": "threshold-breach", + "slippage_estimate_pct": "415915.77", + "fee_estimate_pct": "0.30", + "bridge_latency_estimate_seconds": 0, + "notes": [ + "Simulation is conservative and based on smallest verified PMM reserve side.", + "No live trade was sent; route uses public pool reserves as a proxy for tranche safety." + ] + } + ], + "quote_quality": "reserve-heuristic", + "operational_complexity": "medium", + "fallback_route": "eth-cwusdt-via-cwusdc-to-usdc", + "max_safe_tranche": 0, + "max_daily_cadence": "0/day", + "labels": [], + "supporting_surface": { + "pool_address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "status": "live-read", + "base_symbol": "cWUSDT", + "quote_symbol": "USDT", + "base_reserve": "8.845664", + "quote_reserve": "2.404333", + "base_reserve_usd": "8.845664", + "quote_reserve_usd": "2.404333", + "usable_side_usd": "2.404333" + } + }, + { + "corridor_id": "eth-cwusdt-via-cwusdc-to-usdc", + "rank": "experimental", + "status": "simulated", + "tests": [ + { + "size_usd": "10000", + "status": "simulated", + "result": "threshold-breach", + "slippage_estimate_pct": "4206.86", + "fee_estimate_pct": "0.30", + "bridge_latency_estimate_seconds": 0, + "notes": [ + "Simulation is conservative and based on smallest verified PMM reserve side.", + "No live trade was sent; route uses public pool reserves as a proxy for tranche safety." + ] + } + ], + "quote_quality": "reserve-heuristic", + "operational_complexity": "medium", + "fallback_route": null, + "max_safe_tranche": 0, + "max_daily_cadence": "0/day", + "labels": [], + "supporting_surface": { + "leg_1": { + "pool_address": "0xe944b7Cb012A0820c07f54D51e92f0e1C74168DB", + "status": "live-read", + "base_symbol": "cWUSDT", + "quote_symbol": "cWUSDC", + "base_reserve": "1099960.25663", + "quote_reserve": "1100039.756747", + "base_reserve_usd": "1099960.25663", + "quote_reserve_usd": "1100039.756747", + "usable_side_usd": "1099960.25663" + }, + "leg_2": { + "pool_address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "status": "live-read", + "base_symbol": "cWUSDC", + "quote_symbol": "USDC", + "base_reserve": "803.044122", + "quote_reserve": "237.707153", + "base_reserve_usd": "803.044122", + "quote_reserve_usd": "237.707153", + "usable_side_usd": "237.707153" + }, + "usable_side_usd": "237.707153" + } + } + ] +} diff --git a/reports/extraction/debt-leverage-cycle-latest.json b/reports/extraction/debt-leverage-cycle-latest.json new file mode 100644 index 00000000..59ae09ef --- /dev/null +++ b/reports/extraction/debt-leverage-cycle-latest.json @@ -0,0 +1,39 @@ +{ + "status": "blocked", + "reason": "policy_disabled_or_not_ready", + "execute": false, + "max_initial_leverage_multiple": 1.25, + "economics_command": "pnpm exec economics-toolkit calc --gross 0.29 --flash 0.09 --gas 0.1 --liquidity 0.01 --min-profit 0.05", + "readiness": { + "status": "live-read", + "ready": false, + "checks": { + "policy_enabled": false, + "wallet_canonical_usd_ready": false, + "direct_exit_usd_ready": false, + "successful_cycles_ready": false, + "price_deviation_ready": false, + "relays_ready": true + }, + "metrics": { + "wallet_canonical_usd": 0.0, + "direct_exit_usd": 241.963284, + "successful_cycles": 0, + "max_deviation_bps_seen": 7760.68824, + "relay_status": { + "mainnet-cw": "operational", + "mainnet-weth": "operational" + } + }, + "thresholds": { + "turn_on_min_wallet_canonical_usd": 25000.0, + "turn_on_min_direct_exit_usd": 100000.0, + "turn_on_min_successful_cycles": 25, + "turn_on_max_price_deviation_bps": 100.0, + "turn_on_required_relays": [ + "mainnet-cw", + "mainnet-weth" + ] + } + } +} \ No newline at end of file diff --git a/reports/extraction/end-to-end-corridor-canary-latest.json b/reports/extraction/end-to-end-corridor-canary-latest.json new file mode 100644 index 00000000..848ee892 --- /dev/null +++ b/reports/extraction/end-to-end-corridor-canary-latest.json @@ -0,0 +1,104 @@ +{ + "generated_at": "2026-04-16T02:03:28Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status": "manual-required", + "corridor_id": "chain138-stable-lp-to-mainnet-usdt-canary", + "stages": [ + { + "stage": 1, + "name": "tiny LP withdrawal", + "status": "live-read", + "details": { + "pair": "cUSDT/cUSDC", + "pool_address": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "status": "live-read", + "canary_share_amount_raw": "999999996", + "preview_base_out_raw": "983891196", + "preview_quote_out_raw": "1016108795", + "base_min_amount_raw": "974052284", + "quote_min_amount_raw": "1005947707", + "deadline_unix": 1776308601, + "dry_run_command": "cast call 0x9e89bAe009adf128782E19e8341996c596ac40dC \"sellShares(uint256,address,uint256,uint256,bytes,uint256)(uint256,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 974052284 1005947707 0x 1776308601 --from 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --rpc-url \"$RPC_URL_138\"", + "execute_command": "cast send 0x9e89bAe009adf128782E19e8341996c596ac40dC \"sellShares(uint256,address,uint256,uint256,bytes,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 974052284 1005947707 0x 1776308601 --rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy", + "notes": [ + "Direct owner call does not require LP approval.", + "This canary is intentionally tiny and should be run only in a separate operator-approved mutation workflow." + ] + } + }, + { + "stage": 2, + "name": "tiny cUSDT bridge to Mainnet", + "status": "live-read", + "details": { + "symbol": "cUSDT", + "status": "live-read", + "chain138_source_balance_raw": "75000000000", + "dry_run_ok": true, + "dry_run_excerpt": [ + "l1_destination_enabled=True", + "l1_destination_receiver=0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "fee_quote_1_token_wei=1000009600000000", + "mainnet_mirrored_token=0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae" + ], + "source_allowance_raw": "0", + "dry_run_error": null, + "bridge_readiness": { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + }, + "execute_command": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --approve --execute" + } + }, + { + "stage": 3, + "name": "tiny Mainnet cWUSDT exit to USDT", + "status": "simulated", + "details": { + "symbol": "cWUSDT", + "pair": "cwusdt-usdt", + "target_asset": "USDT", + "status": "simulated", + "dry_run_ok": true, + "amount_in_raw": "1000000", + "estimated_out_raw": "1000000", + "min_out_raw": "990000", + "pool_surface": "reserve-heuristic", + "quote_source": "live-getVaultReserve", + "slippage_estimate_pct": "41.59", + "supporting_surface": { + "pool_address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "status": "live-read", + "base_symbol": "cWUSDT", + "quote_symbol": "USDT", + "base_reserve": "8.845664", + "quote_reserve": "2.404333", + "base_reserve_usd": "8.845664", + "quote_reserve_usd": "2.404333", + "usable_side_usd": "2.404333" + }, + "execute_command": "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdt-usdt --direction=base-to-quote --amount=1000000", + "dry_run_error": null + } + } + ], + "gates": [ + "Do not broadcast stage 2 unless stage 1 has landed and balances were reconciled.", + "Do not broadcast stage 3 unless stage 2 landing verification passes.", + "Stop immediately on any min-out, fee, or latency breach." + ] +} diff --git a/reports/extraction/execution-ledger-latest.json b/reports/extraction/execution-ledger-latest.json new file mode 100644 index 00000000..0ccf51fa --- /dev/null +++ b/reports/extraction/execution-ledger-latest.json @@ -0,0 +1,70 @@ +{ + "generated_at": "2026-04-16T02:03:41Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "entries": [ + { + "entry_type": "lp-withdrawal-canary", + "symbol": "cUSDT/cUSDC", + "status": "planned-dry-run", + "source": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "amount_raw": "999999996", + "target": "0x4A666F96fC8764181194447A7dFdb7d471b301C8" + }, + { + "entry_type": "lp-withdrawal-canary", + "symbol": "cUSDT/USDT", + "status": "planned-dry-run", + "source": "0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66", + "amount_raw": "999999996", + "target": "0x4A666F96fC8764181194447A7dFdb7d471b301C8" + }, + { + "entry_type": "lp-withdrawal-canary", + "symbol": "cUSDC/USDC", + "status": "planned-dry-run", + "source": "0xc39B7D0F40838cbFb54649d327f49a6DAC964062", + "amount_raw": "999999996", + "target": "0x4A666F96fC8764181194447A7dFdb7d471b301C8" + }, + { + "entry_type": "bridge-canary", + "symbol": "cUSDT", + "status": "planned-dry-run", + "source": "Chain138", + "amount_raw": "1000000", + "target": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae" + }, + { + "entry_type": "bridge-canary", + "symbol": "cUSDC", + "status": "planned-dry-run", + "source": "Chain138", + "amount_raw": "1000000", + "target": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a" + }, + { + "entry_type": "mainnet-exit-canary", + "symbol": "cWUSDC", + "status": "planned-dry-run", + "source": "cwusdc-usdc", + "amount_raw": "1000000", + "target": "USDC" + }, + { + "entry_type": "mainnet-exit-canary", + "symbol": "cWUSDT", + "status": "planned-dry-run", + "source": "cwusdt-usdt", + "amount_raw": "1000000", + "target": "USDT" + }, + { + "entry_type": "end-to-end-corridor", + "symbol": "chain138-stable-lp-to-mainnet-usdt-canary", + "status": "planned-dry-run", + "source": "Chain138 LP -> Mainnet", + "amount_raw": "999999996", + "target": "USDT" + } + ] +} diff --git a/reports/extraction/growth-cycle-with-retention-latest.json b/reports/extraction/growth-cycle-with-retention-latest.json new file mode 100644 index 00000000..ab54cec5 --- /dev/null +++ b/reports/extraction/growth-cycle-with-retention-latest.json @@ -0,0 +1,21 @@ +{ + "status": "planned", + "reason": "ready", + "stage": "early", + "decision": "extract_legacy_usdc", + "execute": false, + "retention_policy": { + "retain_bps": 3000, + "redeploy_bps": 7000 + }, + "amounts": { + "observed_or_estimated_usdc_raw": 2819467, + "retain_raw": 845840, + "redeploy_raw": 1973627 + }, + "transactions": { + "swap_tx": "", + "bridge_tx": "", + "add_liquidity_tx": "" + } +} \ No newline at end of file diff --git a/reports/extraction/growth-loop-loop-latest.json b/reports/extraction/growth-loop-loop-latest.json new file mode 100644 index 00000000..9b2b5b5b --- /dev/null +++ b/reports/extraction/growth-loop-loop-latest.json @@ -0,0 +1,12 @@ +{ + "status": "live-read-loop", + "max_rounds": 1, + "rounds_completed": 0, + "stop_reason": "policy_requires_relay_gas_recovery", + "execute": false, + "log_dir": "/home/intlc/projects/proxmox/reports/extraction/growth-loop-rounds", + "round_logs": [ + "/home/intlc/projects/proxmox/reports/extraction/growth-loop-rounds/round-001.json", + "/home/intlc/projects/proxmox/reports/extraction/growth-loop-rounds/round-002.json" + ] +} \ No newline at end of file diff --git a/reports/extraction/growth-loop-once-latest.json b/reports/extraction/growth-loop-once-latest.json new file mode 100644 index 00000000..fbc68ba2 --- /dev/null +++ b/reports/extraction/growth-loop-once-latest.json @@ -0,0 +1,26 @@ +{ + "status": "live-read", + "decision": "extract_legacy_usdc", + "reason": "legacy_usdc_quote_above_low_threshold", + "wallet": { + "eth_mainnet_wei": "8878760986095342", + "usdc_raw": "0", + "usdt_raw": "93378", + "cwusdc_v2_raw": "0", + "cwusdt_v2_raw": "93378" + }, + "legacy_pools": { + "cwusdc_usdc_quote_raw": "220253325", + "cwusdt_usdt_quote_raw": "2182358" + }, + "relays": { + "mainnet_cw": "operational", + "mainnet_weth": "operational" + }, + "matched": { + "usdc_raw": "0", + "usdt_raw": "93378" + }, + "execute": false, + "command": "bash /home/intlc/projects/proxmox/scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdc-usdc --direction=base-to-quote --amount=11012666" +} \ No newline at end of file diff --git a/reports/extraction/growth-loop-rounds/round-001.json b/reports/extraction/growth-loop-rounds/round-001.json new file mode 100644 index 00000000..5cc1396a --- /dev/null +++ b/reports/extraction/growth-loop-rounds/round-001.json @@ -0,0 +1,30 @@ +{ + "status": "live-read", + "decision": "recover_relay_gas", + "reason": "mainnet_eth_below_minimum", + "wallet": { + "eth_mainnet_wei": "3926877588325964", + "usdc_raw": "9514438", + "usdt_raw": "93378", + "cwusdc_v2_raw": "9514438", + "cwusdt_v2_raw": "0" + }, + "legacy_pools": { + "cwusdc_usdc_quote_raw": "223124549", + "cwusdt_usdt_quote_raw": "2182358" + }, + "relays": { + "mainnet_cw": "degraded", + "mainnet_weth": "operational" + }, + "matched": { + "usdc_raw": "9514438", + "usdt_raw": "0" + }, + "execute": false, + "command": "bash /home/intlc/projects/proxmox/scripts/deployment/recover-relay-gas.sh", + "round": 1, + "loop_execute": false, + "stop_reason": "policy_requires_relay_gas_recovery", + "executed": false +} \ No newline at end of file diff --git a/reports/extraction/growth-loop-rounds/round-002.json b/reports/extraction/growth-loop-rounds/round-002.json new file mode 100644 index 00000000..78ad8bb4 --- /dev/null +++ b/reports/extraction/growth-loop-rounds/round-002.json @@ -0,0 +1,30 @@ +{ + "status": "live-read", + "decision": "recover_relay_gas", + "reason": "mainnet_eth_below_minimum", + "wallet": { + "eth_mainnet_wei": "3931708822476357", + "usdc_raw": "9514438", + "usdt_raw": "93378", + "cwusdc_v2_raw": "9514438", + "cwusdt_v2_raw": "0" + }, + "legacy_pools": { + "cwusdc_usdc_quote_raw": "223124549", + "cwusdt_usdt_quote_raw": "2182358" + }, + "relays": { + "mainnet_cw": "degraded", + "mainnet_weth": "degraded" + }, + "matched": { + "usdc_raw": "9514438", + "usdt_raw": "0" + }, + "execute": false, + "command": "bash /home/intlc/projects/proxmox/scripts/deployment/recover-relay-gas.sh", + "round": 2, + "loop_execute": true, + "stop_reason": "policy_requires_relay_gas_recovery", + "executed": false +} \ No newline at end of file diff --git a/reports/extraction/growth-loop-simulation-latest.json b/reports/extraction/growth-loop-simulation-latest.json new file mode 100644 index 00000000..44396c38 --- /dev/null +++ b/reports/extraction/growth-loop-simulation-latest.json @@ -0,0 +1,6775 @@ +{ + "status": "live-read-plus-modeled", + "rounds": 250, + "legacy_pool": { + "base_raw": 855544122, + "quote_raw": 223124549 + }, + "v2_pool": { + "base_raw": 5068166, + "quote_raw": 5068166 + }, + "rates_bps": [ + 200, + 500, + 1000 + ], + "series": { + "200": [ + { + "round": 1, + "rate_bps": 200, + "extracted_this_round_raw": 4462490.98, + "cumulative_extracted_raw": 4462490.98, + "legacy_quote_remaining_raw": 218662058.02, + "projected_v2_base_raw": 9530656.98, + "projected_v2_quote_raw": 9530656.98 + }, + { + "round": 2, + "rate_bps": 200, + "extracted_this_round_raw": 4373241.1604, + "cumulative_extracted_raw": 8835732.1404, + "legacy_quote_remaining_raw": 214288816.8596, + "projected_v2_base_raw": 13903898.1404, + "projected_v2_quote_raw": 13903898.1404 + }, + { + "round": 3, + "rate_bps": 200, + "extracted_this_round_raw": 4285776.337192, + "cumulative_extracted_raw": 13121508.477592, + "legacy_quote_remaining_raw": 210003040.522408, + "projected_v2_base_raw": 18189674.477592, + "projected_v2_quote_raw": 18189674.477592 + }, + { + "round": 4, + "rate_bps": 200, + "extracted_this_round_raw": 4200060.810448, + "cumulative_extracted_raw": 17321569.28804, + "legacy_quote_remaining_raw": 205802979.71196, + "projected_v2_base_raw": 22389735.28804, + "projected_v2_quote_raw": 22389735.28804 + }, + { + "round": 5, + "rate_bps": 200, + "extracted_this_round_raw": 4116059.594239, + "cumulative_extracted_raw": 21437628.882279, + "legacy_quote_remaining_raw": 201686920.117721, + "projected_v2_base_raw": 26505794.882279, + "projected_v2_quote_raw": 26505794.882279 + }, + { + "round": 6, + "rate_bps": 200, + "extracted_this_round_raw": 4033738.402354, + "cumulative_extracted_raw": 25471367.284634, + "legacy_quote_remaining_raw": 197653181.715366, + "projected_v2_base_raw": 30539533.284634, + "projected_v2_quote_raw": 30539533.284634 + }, + { + "round": 7, + "rate_bps": 200, + "extracted_this_round_raw": 3953063.634307, + "cumulative_extracted_raw": 29424430.918941, + "legacy_quote_remaining_raw": 193700118.081059, + "projected_v2_base_raw": 34492596.918941, + "projected_v2_quote_raw": 34492596.918941 + }, + { + "round": 8, + "rate_bps": 200, + "extracted_this_round_raw": 3874002.361621, + "cumulative_extracted_raw": 33298433.280562, + "legacy_quote_remaining_raw": 189826115.719438, + "projected_v2_base_raw": 38366599.280562, + "projected_v2_quote_raw": 38366599.280562 + }, + { + "round": 9, + "rate_bps": 200, + "extracted_this_round_raw": 3796522.314389, + "cumulative_extracted_raw": 37094955.594951, + "legacy_quote_remaining_raw": 186029593.405049, + "projected_v2_base_raw": 42163121.594951, + "projected_v2_quote_raw": 42163121.594951 + }, + { + "round": 10, + "rate_bps": 200, + "extracted_this_round_raw": 3720591.868101, + "cumulative_extracted_raw": 40815547.463052, + "legacy_quote_remaining_raw": 182309001.536948, + "projected_v2_base_raw": 45883713.463052, + "projected_v2_quote_raw": 45883713.463052 + }, + { + "round": 11, + "rate_bps": 200, + "extracted_this_round_raw": 3646180.030739, + "cumulative_extracted_raw": 44461727.493791, + "legacy_quote_remaining_raw": 178662821.506209, + "projected_v2_base_raw": 49529893.493791, + "projected_v2_quote_raw": 49529893.493791 + }, + { + "round": 12, + "rate_bps": 200, + "extracted_this_round_raw": 3573256.430124, + "cumulative_extracted_raw": 48034983.923915, + "legacy_quote_remaining_raw": 175089565.076085, + "projected_v2_base_raw": 53103149.923915, + "projected_v2_quote_raw": 53103149.923915 + }, + { + "round": 13, + "rate_bps": 200, + "extracted_this_round_raw": 3501791.301522, + "cumulative_extracted_raw": 51536775.225437, + "legacy_quote_remaining_raw": 171587773.774563, + "projected_v2_base_raw": 56604941.225437, + "projected_v2_quote_raw": 56604941.225437 + }, + { + "round": 14, + "rate_bps": 200, + "extracted_this_round_raw": 3431755.475491, + "cumulative_extracted_raw": 54968530.700928, + "legacy_quote_remaining_raw": 168156018.299072, + "projected_v2_base_raw": 60036696.700928, + "projected_v2_quote_raw": 60036696.700928 + }, + { + "round": 15, + "rate_bps": 200, + "extracted_this_round_raw": 3363120.365981, + "cumulative_extracted_raw": 58331651.06691, + "legacy_quote_remaining_raw": 164792897.93309, + "projected_v2_base_raw": 63399817.06691, + "projected_v2_quote_raw": 63399817.06691 + }, + { + "round": 16, + "rate_bps": 200, + "extracted_this_round_raw": 3295857.958662, + "cumulative_extracted_raw": 61627509.025571, + "legacy_quote_remaining_raw": 161497039.974429, + "projected_v2_base_raw": 66695675.025571, + "projected_v2_quote_raw": 66695675.025571 + }, + { + "round": 17, + "rate_bps": 200, + "extracted_this_round_raw": 3229940.799489, + "cumulative_extracted_raw": 64857449.82506, + "legacy_quote_remaining_raw": 158267099.17494, + "projected_v2_base_raw": 69925615.82506, + "projected_v2_quote_raw": 69925615.82506 + }, + { + "round": 18, + "rate_bps": 200, + "extracted_this_round_raw": 3165341.983499, + "cumulative_extracted_raw": 68022791.808559, + "legacy_quote_remaining_raw": 155101757.191441, + "projected_v2_base_raw": 73090957.808559, + "projected_v2_quote_raw": 73090957.808559 + }, + { + "round": 19, + "rate_bps": 200, + "extracted_this_round_raw": 3102035.143829, + "cumulative_extracted_raw": 71124826.952388, + "legacy_quote_remaining_raw": 151999722.047612, + "projected_v2_base_raw": 76192992.952388, + "projected_v2_quote_raw": 76192992.952388 + }, + { + "round": 20, + "rate_bps": 200, + "extracted_this_round_raw": 3039994.440952, + "cumulative_extracted_raw": 74164821.39334, + "legacy_quote_remaining_raw": 148959727.60666, + "projected_v2_base_raw": 79232987.39334, + "projected_v2_quote_raw": 79232987.39334 + }, + { + "round": 21, + "rate_bps": 200, + "extracted_this_round_raw": 2979194.552133, + "cumulative_extracted_raw": 77144015.945473, + "legacy_quote_remaining_raw": 145980533.054527, + "projected_v2_base_raw": 82212181.945473, + "projected_v2_quote_raw": 82212181.945473 + }, + { + "round": 22, + "rate_bps": 200, + "extracted_this_round_raw": 2919610.661091, + "cumulative_extracted_raw": 80063626.606564, + "legacy_quote_remaining_raw": 143060922.393436, + "projected_v2_base_raw": 85131792.606564, + "projected_v2_quote_raw": 85131792.606564 + }, + { + "round": 23, + "rate_bps": 200, + "extracted_this_round_raw": 2861218.447869, + "cumulative_extracted_raw": 82924845.054432, + "legacy_quote_remaining_raw": 140199703.945568, + "projected_v2_base_raw": 87993011.054432, + "projected_v2_quote_raw": 87993011.054432 + }, + { + "round": 24, + "rate_bps": 200, + "extracted_this_round_raw": 2803994.078911, + "cumulative_extracted_raw": 85728839.133344, + "legacy_quote_remaining_raw": 137395709.866656, + "projected_v2_base_raw": 90797005.133344, + "projected_v2_quote_raw": 90797005.133344 + }, + { + "round": 25, + "rate_bps": 200, + "extracted_this_round_raw": 2747914.197333, + "cumulative_extracted_raw": 88476753.330677, + "legacy_quote_remaining_raw": 134647795.669323, + "projected_v2_base_raw": 93544919.330677, + "projected_v2_quote_raw": 93544919.330677 + }, + { + "round": 26, + "rate_bps": 200, + "extracted_this_round_raw": 2692955.913386, + "cumulative_extracted_raw": 91169709.244063, + "legacy_quote_remaining_raw": 131954839.755937, + "projected_v2_base_raw": 96237875.244063, + "projected_v2_quote_raw": 96237875.244063 + }, + { + "round": 27, + "rate_bps": 200, + "extracted_this_round_raw": 2639096.795119, + "cumulative_extracted_raw": 93808806.039182, + "legacy_quote_remaining_raw": 129315742.960818, + "projected_v2_base_raw": 98876972.039182, + "projected_v2_quote_raw": 98876972.039182 + }, + { + "round": 28, + "rate_bps": 200, + "extracted_this_round_raw": 2586314.859216, + "cumulative_extracted_raw": 96395120.898398, + "legacy_quote_remaining_raw": 126729428.101602, + "projected_v2_base_raw": 101463286.898398, + "projected_v2_quote_raw": 101463286.898398 + }, + { + "round": 29, + "rate_bps": 200, + "extracted_this_round_raw": 2534588.562032, + "cumulative_extracted_raw": 98929709.46043, + "legacy_quote_remaining_raw": 124194839.53957, + "projected_v2_base_raw": 103997875.46043, + "projected_v2_quote_raw": 103997875.46043 + }, + { + "round": 30, + "rate_bps": 200, + "extracted_this_round_raw": 2483896.790791, + "cumulative_extracted_raw": 101413606.251222, + "legacy_quote_remaining_raw": 121710942.748778, + "projected_v2_base_raw": 106481772.251222, + "projected_v2_quote_raw": 106481772.251222 + }, + { + "round": 31, + "rate_bps": 200, + "extracted_this_round_raw": 2434218.854976, + "cumulative_extracted_raw": 103847825.106197, + "legacy_quote_remaining_raw": 119276723.893803, + "projected_v2_base_raw": 108915991.106197, + "projected_v2_quote_raw": 108915991.106197 + }, + { + "round": 32, + "rate_bps": 200, + "extracted_this_round_raw": 2385534.477876, + "cumulative_extracted_raw": 106233359.584073, + "legacy_quote_remaining_raw": 116891189.415927, + "projected_v2_base_raw": 111301525.584073, + "projected_v2_quote_raw": 111301525.584073 + }, + { + "round": 33, + "rate_bps": 200, + "extracted_this_round_raw": 2337823.788319, + "cumulative_extracted_raw": 108571183.372392, + "legacy_quote_remaining_raw": 114553365.627608, + "projected_v2_base_raw": 113639349.372392, + "projected_v2_quote_raw": 113639349.372392 + }, + { + "round": 34, + "rate_bps": 200, + "extracted_this_round_raw": 2291067.312552, + "cumulative_extracted_raw": 110862250.684944, + "legacy_quote_remaining_raw": 112262298.315056, + "projected_v2_base_raw": 115930416.684944, + "projected_v2_quote_raw": 115930416.684944 + }, + { + "round": 35, + "rate_bps": 200, + "extracted_this_round_raw": 2245245.966301, + "cumulative_extracted_raw": 113107496.651245, + "legacy_quote_remaining_raw": 110017052.348755, + "projected_v2_base_raw": 118175662.651245, + "projected_v2_quote_raw": 118175662.651245 + }, + { + "round": 36, + "rate_bps": 200, + "extracted_this_round_raw": 2200341.046975, + "cumulative_extracted_raw": 115307837.69822, + "legacy_quote_remaining_raw": 107816711.30178, + "projected_v2_base_raw": 120376003.69822, + "projected_v2_quote_raw": 120376003.69822 + }, + { + "round": 37, + "rate_bps": 200, + "extracted_this_round_raw": 2156334.226036, + "cumulative_extracted_raw": 117464171.924256, + "legacy_quote_remaining_raw": 105660377.075744, + "projected_v2_base_raw": 122532337.924256, + "projected_v2_quote_raw": 122532337.924256 + }, + { + "round": 38, + "rate_bps": 200, + "extracted_this_round_raw": 2113207.541515, + "cumulative_extracted_raw": 119577379.465771, + "legacy_quote_remaining_raw": 103547169.534229, + "projected_v2_base_raw": 124645545.465771, + "projected_v2_quote_raw": 124645545.465771 + }, + { + "round": 39, + "rate_bps": 200, + "extracted_this_round_raw": 2070943.390685, + "cumulative_extracted_raw": 121648322.856455, + "legacy_quote_remaining_raw": 101476226.143545, + "projected_v2_base_raw": 126716488.856455, + "projected_v2_quote_raw": 126716488.856455 + }, + { + "round": 40, + "rate_bps": 200, + "extracted_this_round_raw": 2029524.522871, + "cumulative_extracted_raw": 123677847.379326, + "legacy_quote_remaining_raw": 99446701.620674, + "projected_v2_base_raw": 128746013.379326, + "projected_v2_quote_raw": 128746013.379326 + }, + { + "round": 41, + "rate_bps": 200, + "extracted_this_round_raw": 1988934.032413, + "cumulative_extracted_raw": 125666781.41174, + "legacy_quote_remaining_raw": 97457767.58826, + "projected_v2_base_raw": 130734947.41174, + "projected_v2_quote_raw": 130734947.41174 + }, + { + "round": 42, + "rate_bps": 200, + "extracted_this_round_raw": 1949155.351765, + "cumulative_extracted_raw": 127615936.763505, + "legacy_quote_remaining_raw": 95508612.236495, + "projected_v2_base_raw": 132684102.763505, + "projected_v2_quote_raw": 132684102.763505 + }, + { + "round": 43, + "rate_bps": 200, + "extracted_this_round_raw": 1910172.24473, + "cumulative_extracted_raw": 129526109.008235, + "legacy_quote_remaining_raw": 93598439.991765, + "projected_v2_base_raw": 134594275.008235, + "projected_v2_quote_raw": 134594275.008235 + }, + { + "round": 44, + "rate_bps": 200, + "extracted_this_round_raw": 1871968.799835, + "cumulative_extracted_raw": 131398077.80807, + "legacy_quote_remaining_raw": 91726471.19193, + "projected_v2_base_raw": 136466243.80807, + "projected_v2_quote_raw": 136466243.80807 + }, + { + "round": 45, + "rate_bps": 200, + "extracted_this_round_raw": 1834529.423839, + "cumulative_extracted_raw": 133232607.231909, + "legacy_quote_remaining_raw": 89891941.768091, + "projected_v2_base_raw": 138300773.231909, + "projected_v2_quote_raw": 138300773.231909 + }, + { + "round": 46, + "rate_bps": 200, + "extracted_this_round_raw": 1797838.835362, + "cumulative_extracted_raw": 135030446.067271, + "legacy_quote_remaining_raw": 88094102.932729, + "projected_v2_base_raw": 140098612.067271, + "projected_v2_quote_raw": 140098612.067271 + }, + { + "round": 47, + "rate_bps": 200, + "extracted_this_round_raw": 1761882.058655, + "cumulative_extracted_raw": 136792328.125925, + "legacy_quote_remaining_raw": 86332220.874075, + "projected_v2_base_raw": 141860494.125925, + "projected_v2_quote_raw": 141860494.125925 + }, + { + "round": 48, + "rate_bps": 200, + "extracted_this_round_raw": 1726644.417481, + "cumulative_extracted_raw": 138518972.543407, + "legacy_quote_remaining_raw": 84605576.456593, + "projected_v2_base_raw": 143587138.543407, + "projected_v2_quote_raw": 143587138.543407 + }, + { + "round": 49, + "rate_bps": 200, + "extracted_this_round_raw": 1692111.529132, + "cumulative_extracted_raw": 140211084.072539, + "legacy_quote_remaining_raw": 82913464.927461, + "projected_v2_base_raw": 145279250.072539, + "projected_v2_quote_raw": 145279250.072539 + }, + { + "round": 50, + "rate_bps": 200, + "extracted_this_round_raw": 1658269.298549, + "cumulative_extracted_raw": 141869353.371088, + "legacy_quote_remaining_raw": 81255195.628912, + "projected_v2_base_raw": 146937519.371088, + "projected_v2_quote_raw": 146937519.371088 + }, + { + "round": 51, + "rate_bps": 200, + "extracted_this_round_raw": 1625103.912578, + "cumulative_extracted_raw": 143494457.283666, + "legacy_quote_remaining_raw": 79630091.716334, + "projected_v2_base_raw": 148562623.283666, + "projected_v2_quote_raw": 148562623.283666 + }, + { + "round": 52, + "rate_bps": 200, + "extracted_this_round_raw": 1592601.834327, + "cumulative_extracted_raw": 145087059.117993, + "legacy_quote_remaining_raw": 78037489.882007, + "projected_v2_base_raw": 150155225.117993, + "projected_v2_quote_raw": 150155225.117993 + }, + { + "round": 53, + "rate_bps": 200, + "extracted_this_round_raw": 1560749.79764, + "cumulative_extracted_raw": 146647808.915633, + "legacy_quote_remaining_raw": 76476740.084367, + "projected_v2_base_raw": 151715974.915633, + "projected_v2_quote_raw": 151715974.915633 + }, + { + "round": 54, + "rate_bps": 200, + "extracted_this_round_raw": 1529534.801687, + "cumulative_extracted_raw": 148177343.71732, + "legacy_quote_remaining_raw": 74947205.28268, + "projected_v2_base_raw": 153245509.71732, + "projected_v2_quote_raw": 153245509.71732 + }, + { + "round": 55, + "rate_bps": 200, + "extracted_this_round_raw": 1498944.105654, + "cumulative_extracted_raw": 149676287.822974, + "legacy_quote_remaining_raw": 73448261.177026, + "projected_v2_base_raw": 154744453.822974, + "projected_v2_quote_raw": 154744453.822974 + }, + { + "round": 56, + "rate_bps": 200, + "extracted_this_round_raw": 1468965.223541, + "cumulative_extracted_raw": 151145253.046514, + "legacy_quote_remaining_raw": 71979295.953486, + "projected_v2_base_raw": 156213419.046514, + "projected_v2_quote_raw": 156213419.046514 + }, + { + "round": 57, + "rate_bps": 200, + "extracted_this_round_raw": 1439585.91907, + "cumulative_extracted_raw": 152584838.965584, + "legacy_quote_remaining_raw": 70539710.034416, + "projected_v2_base_raw": 157653004.965584, + "projected_v2_quote_raw": 157653004.965584 + }, + { + "round": 58, + "rate_bps": 200, + "extracted_this_round_raw": 1410794.200688, + "cumulative_extracted_raw": 153995633.166272, + "legacy_quote_remaining_raw": 69128915.833728, + "projected_v2_base_raw": 159063799.166272, + "projected_v2_quote_raw": 159063799.166272 + }, + { + "round": 59, + "rate_bps": 200, + "extracted_this_round_raw": 1382578.316675, + "cumulative_extracted_raw": 155378211.482947, + "legacy_quote_remaining_raw": 67746337.517053, + "projected_v2_base_raw": 160446377.482947, + "projected_v2_quote_raw": 160446377.482947 + }, + { + "round": 60, + "rate_bps": 200, + "extracted_this_round_raw": 1354926.750341, + "cumulative_extracted_raw": 156733138.233288, + "legacy_quote_remaining_raw": 66391410.766712, + "projected_v2_base_raw": 161801304.233288, + "projected_v2_quote_raw": 161801304.233288 + }, + { + "round": 61, + "rate_bps": 200, + "extracted_this_round_raw": 1327828.215334, + "cumulative_extracted_raw": 158060966.448622, + "legacy_quote_remaining_raw": 65063582.551378, + "projected_v2_base_raw": 163129132.448622, + "projected_v2_quote_raw": 163129132.448622 + }, + { + "round": 62, + "rate_bps": 200, + "extracted_this_round_raw": 1301271.651028, + "cumulative_extracted_raw": 159362238.09965, + "legacy_quote_remaining_raw": 63762310.90035, + "projected_v2_base_raw": 164430404.09965, + "projected_v2_quote_raw": 164430404.09965 + }, + { + "round": 63, + "rate_bps": 200, + "extracted_this_round_raw": 1275246.218007, + "cumulative_extracted_raw": 160637484.317657, + "legacy_quote_remaining_raw": 62487064.682343, + "projected_v2_base_raw": 165705650.317657, + "projected_v2_quote_raw": 165705650.317657 + }, + { + "round": 64, + "rate_bps": 200, + "extracted_this_round_raw": 1249741.293647, + "cumulative_extracted_raw": 161887225.611304, + "legacy_quote_remaining_raw": 61237323.388696, + "projected_v2_base_raw": 166955391.611304, + "projected_v2_quote_raw": 166955391.611304 + }, + { + "round": 65, + "rate_bps": 200, + "extracted_this_round_raw": 1224746.467774, + "cumulative_extracted_raw": 163111972.079078, + "legacy_quote_remaining_raw": 60012576.920922, + "projected_v2_base_raw": 168180138.079078, + "projected_v2_quote_raw": 168180138.079078 + }, + { + "round": 66, + "rate_bps": 200, + "extracted_this_round_raw": 1200251.538418, + "cumulative_extracted_raw": 164312223.617496, + "legacy_quote_remaining_raw": 58812325.382504, + "projected_v2_base_raw": 169380389.617496, + "projected_v2_quote_raw": 169380389.617496 + }, + { + "round": 67, + "rate_bps": 200, + "extracted_this_round_raw": 1176246.50765, + "cumulative_extracted_raw": 165488470.125146, + "legacy_quote_remaining_raw": 57636078.874854, + "projected_v2_base_raw": 170556636.125146, + "projected_v2_quote_raw": 170556636.125146 + }, + { + "round": 68, + "rate_bps": 200, + "extracted_this_round_raw": 1152721.577497, + "cumulative_extracted_raw": 166641191.702643, + "legacy_quote_remaining_raw": 56483357.297357, + "projected_v2_base_raw": 171709357.702643, + "projected_v2_quote_raw": 171709357.702643 + }, + { + "round": 69, + "rate_bps": 200, + "extracted_this_round_raw": 1129667.145947, + "cumulative_extracted_raw": 167770858.84859, + "legacy_quote_remaining_raw": 55353690.15141, + "projected_v2_base_raw": 172839024.84859, + "projected_v2_quote_raw": 172839024.84859 + }, + { + "round": 70, + "rate_bps": 200, + "extracted_this_round_raw": 1107073.803028, + "cumulative_extracted_raw": 168877932.651618, + "legacy_quote_remaining_raw": 54246616.348382, + "projected_v2_base_raw": 173946098.651618, + "projected_v2_quote_raw": 173946098.651618 + }, + { + "round": 71, + "rate_bps": 200, + "extracted_this_round_raw": 1084932.326968, + "cumulative_extracted_raw": 169962864.978586, + "legacy_quote_remaining_raw": 53161684.021414, + "projected_v2_base_raw": 175031030.978586, + "projected_v2_quote_raw": 175031030.978586 + }, + { + "round": 72, + "rate_bps": 200, + "extracted_this_round_raw": 1063233.680428, + "cumulative_extracted_raw": 171026098.659014, + "legacy_quote_remaining_raw": 52098450.340986, + "projected_v2_base_raw": 176094264.659014, + "projected_v2_quote_raw": 176094264.659014 + }, + { + "round": 73, + "rate_bps": 200, + "extracted_this_round_raw": 1041969.00682, + "cumulative_extracted_raw": 172068067.665834, + "legacy_quote_remaining_raw": 51056481.334166, + "projected_v2_base_raw": 177136233.665834, + "projected_v2_quote_raw": 177136233.665834 + }, + { + "round": 74, + "rate_bps": 200, + "extracted_this_round_raw": 1021129.626683, + "cumulative_extracted_raw": 173089197.292517, + "legacy_quote_remaining_raw": 50035351.707483, + "projected_v2_base_raw": 178157363.292517, + "projected_v2_quote_raw": 178157363.292517 + }, + { + "round": 75, + "rate_bps": 200, + "extracted_this_round_raw": 1000707.03415, + "cumulative_extracted_raw": 174089904.326667, + "legacy_quote_remaining_raw": 49034644.673333, + "projected_v2_base_raw": 179158070.326667, + "projected_v2_quote_raw": 179158070.326667 + }, + { + "round": 76, + "rate_bps": 200, + "extracted_this_round_raw": 980692.893467, + "cumulative_extracted_raw": 175070597.220134, + "legacy_quote_remaining_raw": 48053951.779866, + "projected_v2_base_raw": 180138763.220134, + "projected_v2_quote_raw": 180138763.220134 + }, + { + "round": 77, + "rate_bps": 200, + "extracted_this_round_raw": 961079.035597, + "cumulative_extracted_raw": 176031676.255731, + "legacy_quote_remaining_raw": 47092872.744269, + "projected_v2_base_raw": 181099842.255731, + "projected_v2_quote_raw": 181099842.255731 + }, + { + "round": 78, + "rate_bps": 200, + "extracted_this_round_raw": 941857.454885, + "cumulative_extracted_raw": 176973533.710616, + "legacy_quote_remaining_raw": 46151015.289384, + "projected_v2_base_raw": 182041699.710616, + "projected_v2_quote_raw": 182041699.710616 + }, + { + "round": 79, + "rate_bps": 200, + "extracted_this_round_raw": 923020.305788, + "cumulative_extracted_raw": 177896554.016404, + "legacy_quote_remaining_raw": 45227994.983596, + "projected_v2_base_raw": 182964720.016404, + "projected_v2_quote_raw": 182964720.016404 + }, + { + "round": 80, + "rate_bps": 200, + "extracted_this_round_raw": 904559.899672, + "cumulative_extracted_raw": 178801113.916076, + "legacy_quote_remaining_raw": 44323435.083924, + "projected_v2_base_raw": 183869279.916076, + "projected_v2_quote_raw": 183869279.916076 + }, + { + "round": 81, + "rate_bps": 200, + "extracted_this_round_raw": 886468.701678, + "cumulative_extracted_raw": 179687582.617755, + "legacy_quote_remaining_raw": 43436966.382245, + "projected_v2_base_raw": 184755748.617755, + "projected_v2_quote_raw": 184755748.617755 + }, + { + "round": 82, + "rate_bps": 200, + "extracted_this_round_raw": 868739.327645, + "cumulative_extracted_raw": 180556321.945399, + "legacy_quote_remaining_raw": 42568227.054601, + "projected_v2_base_raw": 185624487.945399, + "projected_v2_quote_raw": 185624487.945399 + }, + { + "round": 83, + "rate_bps": 200, + "extracted_this_round_raw": 851364.541092, + "cumulative_extracted_raw": 181407686.486491, + "legacy_quote_remaining_raw": 41716862.513509, + "projected_v2_base_raw": 186475852.486491, + "projected_v2_quote_raw": 186475852.486491 + }, + { + "round": 84, + "rate_bps": 200, + "extracted_this_round_raw": 834337.25027, + "cumulative_extracted_raw": 182242023.736762, + "legacy_quote_remaining_raw": 40882525.263238, + "projected_v2_base_raw": 187310189.736762, + "projected_v2_quote_raw": 187310189.736762 + }, + { + "round": 85, + "rate_bps": 200, + "extracted_this_round_raw": 817650.505265, + "cumulative_extracted_raw": 183059674.242026, + "legacy_quote_remaining_raw": 40064874.757974, + "projected_v2_base_raw": 188127840.242026, + "projected_v2_quote_raw": 188127840.242026 + }, + { + "round": 86, + "rate_bps": 200, + "extracted_this_round_raw": 801297.495159, + "cumulative_extracted_raw": 183860971.737186, + "legacy_quote_remaining_raw": 39263577.262814, + "projected_v2_base_raw": 188929137.737186, + "projected_v2_quote_raw": 188929137.737186 + }, + { + "round": 87, + "rate_bps": 200, + "extracted_this_round_raw": 785271.545256, + "cumulative_extracted_raw": 184646243.282442, + "legacy_quote_remaining_raw": 38478305.717558, + "projected_v2_base_raw": 189714409.282442, + "projected_v2_quote_raw": 189714409.282442 + }, + { + "round": 88, + "rate_bps": 200, + "extracted_this_round_raw": 769566.114351, + "cumulative_extracted_raw": 185415809.396793, + "legacy_quote_remaining_raw": 37708739.603207, + "projected_v2_base_raw": 190483975.396793, + "projected_v2_quote_raw": 190483975.396793 + }, + { + "round": 89, + "rate_bps": 200, + "extracted_this_round_raw": 754174.792064, + "cumulative_extracted_raw": 186169984.188857, + "legacy_quote_remaining_raw": 36954564.811143, + "projected_v2_base_raw": 191238150.188857, + "projected_v2_quote_raw": 191238150.188857 + }, + { + "round": 90, + "rate_bps": 200, + "extracted_this_round_raw": 739091.296223, + "cumulative_extracted_raw": 186909075.48508, + "legacy_quote_remaining_raw": 36215473.51492, + "projected_v2_base_raw": 191977241.48508, + "projected_v2_quote_raw": 191977241.48508 + }, + { + "round": 91, + "rate_bps": 200, + "extracted_this_round_raw": 724309.470298, + "cumulative_extracted_raw": 187633384.955379, + "legacy_quote_remaining_raw": 35491164.044621, + "projected_v2_base_raw": 192701550.955379, + "projected_v2_quote_raw": 192701550.955379 + }, + { + "round": 92, + "rate_bps": 200, + "extracted_this_round_raw": 709823.280892, + "cumulative_extracted_raw": 188343208.236271, + "legacy_quote_remaining_raw": 34781340.763729, + "projected_v2_base_raw": 193411374.236271, + "projected_v2_quote_raw": 193411374.236271 + }, + { + "round": 93, + "rate_bps": 200, + "extracted_this_round_raw": 695626.815275, + "cumulative_extracted_raw": 189038835.051546, + "legacy_quote_remaining_raw": 34085713.948454, + "projected_v2_base_raw": 194107001.051546, + "projected_v2_quote_raw": 194107001.051546 + }, + { + "round": 94, + "rate_bps": 200, + "extracted_this_round_raw": 681714.278969, + "cumulative_extracted_raw": 189720549.330515, + "legacy_quote_remaining_raw": 33403999.669485, + "projected_v2_base_raw": 194788715.330515, + "projected_v2_quote_raw": 194788715.330515 + }, + { + "round": 95, + "rate_bps": 200, + "extracted_this_round_raw": 668079.99339, + "cumulative_extracted_raw": 190388629.323904, + "legacy_quote_remaining_raw": 32735919.676096, + "projected_v2_base_raw": 195456795.323904, + "projected_v2_quote_raw": 195456795.323904 + }, + { + "round": 96, + "rate_bps": 200, + "extracted_this_round_raw": 654718.393522, + "cumulative_extracted_raw": 191043347.717426, + "legacy_quote_remaining_raw": 32081201.282574, + "projected_v2_base_raw": 196111513.717426, + "projected_v2_quote_raw": 196111513.717426 + }, + { + "round": 97, + "rate_bps": 200, + "extracted_this_round_raw": 641624.025651, + "cumulative_extracted_raw": 191684971.743078, + "legacy_quote_remaining_raw": 31439577.256922, + "projected_v2_base_raw": 196753137.743078, + "projected_v2_quote_raw": 196753137.743078 + }, + { + "round": 98, + "rate_bps": 200, + "extracted_this_round_raw": 628791.545138, + "cumulative_extracted_raw": 192313763.288216, + "legacy_quote_remaining_raw": 30810785.711784, + "projected_v2_base_raw": 197381929.288216, + "projected_v2_quote_raw": 197381929.288216 + }, + { + "round": 99, + "rate_bps": 200, + "extracted_this_round_raw": 616215.714236, + "cumulative_extracted_raw": 192929979.002452, + "legacy_quote_remaining_raw": 30194569.997548, + "projected_v2_base_raw": 197998145.002452, + "projected_v2_quote_raw": 197998145.002452 + }, + { + "round": 100, + "rate_bps": 200, + "extracted_this_round_raw": 603891.399951, + "cumulative_extracted_raw": 193533870.402403, + "legacy_quote_remaining_raw": 29590678.597597, + "projected_v2_base_raw": 198602036.402403, + "projected_v2_quote_raw": 198602036.402403 + }, + { + "round": 101, + "rate_bps": 200, + "extracted_this_round_raw": 591813.571952, + "cumulative_extracted_raw": 194125683.974355, + "legacy_quote_remaining_raw": 28998865.025645, + "projected_v2_base_raw": 199193849.974355, + "projected_v2_quote_raw": 199193849.974355 + }, + { + "round": 102, + "rate_bps": 200, + "extracted_this_round_raw": 579977.300513, + "cumulative_extracted_raw": 194705661.274868, + "legacy_quote_remaining_raw": 28418887.725132, + "projected_v2_base_raw": 199773827.274868, + "projected_v2_quote_raw": 199773827.274868 + }, + { + "round": 103, + "rate_bps": 200, + "extracted_this_round_raw": 568377.754503, + "cumulative_extracted_raw": 195274039.02937, + "legacy_quote_remaining_raw": 27850509.97063, + "projected_v2_base_raw": 200342205.02937, + "projected_v2_quote_raw": 200342205.02937 + }, + { + "round": 104, + "rate_bps": 200, + "extracted_this_round_raw": 557010.199413, + "cumulative_extracted_raw": 195831049.228783, + "legacy_quote_remaining_raw": 27293499.771217, + "projected_v2_base_raw": 200899215.228783, + "projected_v2_quote_raw": 200899215.228783 + }, + { + "round": 105, + "rate_bps": 200, + "extracted_this_round_raw": 545869.995424, + "cumulative_extracted_raw": 196376919.224207, + "legacy_quote_remaining_raw": 26747629.775793, + "projected_v2_base_raw": 201445085.224207, + "projected_v2_quote_raw": 201445085.224207 + }, + { + "round": 106, + "rate_bps": 200, + "extracted_this_round_raw": 534952.595516, + "cumulative_extracted_raw": 196911871.819723, + "legacy_quote_remaining_raw": 26212677.180277, + "projected_v2_base_raw": 201980037.819723, + "projected_v2_quote_raw": 201980037.819723 + }, + { + "round": 107, + "rate_bps": 200, + "extracted_this_round_raw": 524253.543606, + "cumulative_extracted_raw": 197436125.363329, + "legacy_quote_remaining_raw": 25688423.636671, + "projected_v2_base_raw": 202504291.363329, + "projected_v2_quote_raw": 202504291.363329 + }, + { + "round": 108, + "rate_bps": 200, + "extracted_this_round_raw": 513768.472733, + "cumulative_extracted_raw": 197949893.836062, + "legacy_quote_remaining_raw": 25174655.163938, + "projected_v2_base_raw": 203018059.836062, + "projected_v2_quote_raw": 203018059.836062 + }, + { + "round": 109, + "rate_bps": 200, + "extracted_this_round_raw": 503493.103279, + "cumulative_extracted_raw": 198453386.939341, + "legacy_quote_remaining_raw": 24671162.060659, + "projected_v2_base_raw": 203521552.939341, + "projected_v2_quote_raw": 203521552.939341 + }, + { + "round": 110, + "rate_bps": 200, + "extracted_this_round_raw": 493423.241213, + "cumulative_extracted_raw": 198946810.180554, + "legacy_quote_remaining_raw": 24177738.819446, + "projected_v2_base_raw": 204014976.180554, + "projected_v2_quote_raw": 204014976.180554 + }, + { + "round": 111, + "rate_bps": 200, + "extracted_this_round_raw": 483554.776389, + "cumulative_extracted_raw": 199430364.956943, + "legacy_quote_remaining_raw": 23694184.043057, + "projected_v2_base_raw": 204498530.956943, + "projected_v2_quote_raw": 204498530.956943 + }, + { + "round": 112, + "rate_bps": 200, + "extracted_this_round_raw": 473883.680861, + "cumulative_extracted_raw": 199904248.637804, + "legacy_quote_remaining_raw": 23220300.362196, + "projected_v2_base_raw": 204972414.637804, + "projected_v2_quote_raw": 204972414.637804 + }, + { + "round": 113, + "rate_bps": 200, + "extracted_this_round_raw": 464406.007244, + "cumulative_extracted_raw": 200368654.645048, + "legacy_quote_remaining_raw": 22755894.354952, + "projected_v2_base_raw": 205436820.645048, + "projected_v2_quote_raw": 205436820.645048 + }, + { + "round": 114, + "rate_bps": 200, + "extracted_this_round_raw": 455117.887099, + "cumulative_extracted_raw": 200823772.532147, + "legacy_quote_remaining_raw": 22300776.467853, + "projected_v2_base_raw": 205891938.532147, + "projected_v2_quote_raw": 205891938.532147 + }, + { + "round": 115, + "rate_bps": 200, + "extracted_this_round_raw": 446015.529357, + "cumulative_extracted_raw": 201269788.061504, + "legacy_quote_remaining_raw": 21854760.938496, + "projected_v2_base_raw": 206337954.061504, + "projected_v2_quote_raw": 206337954.061504 + }, + { + "round": 116, + "rate_bps": 200, + "extracted_this_round_raw": 437095.21877, + "cumulative_extracted_raw": 201706883.280274, + "legacy_quote_remaining_raw": 21417665.719726, + "projected_v2_base_raw": 206775049.280274, + "projected_v2_quote_raw": 206775049.280274 + }, + { + "round": 117, + "rate_bps": 200, + "extracted_this_round_raw": 428353.314395, + "cumulative_extracted_raw": 202135236.594669, + "legacy_quote_remaining_raw": 20989312.405331, + "projected_v2_base_raw": 207203402.594669, + "projected_v2_quote_raw": 207203402.594669 + }, + { + "round": 118, + "rate_bps": 200, + "extracted_this_round_raw": 419786.248107, + "cumulative_extracted_raw": 202555022.842775, + "legacy_quote_remaining_raw": 20569526.157225, + "projected_v2_base_raw": 207623188.842775, + "projected_v2_quote_raw": 207623188.842775 + }, + { + "round": 119, + "rate_bps": 200, + "extracted_this_round_raw": 411390.523144, + "cumulative_extracted_raw": 202966413.36592, + "legacy_quote_remaining_raw": 20158135.63408, + "projected_v2_base_raw": 208034579.36592, + "projected_v2_quote_raw": 208034579.36592 + }, + { + "round": 120, + "rate_bps": 200, + "extracted_this_round_raw": 403162.712682, + "cumulative_extracted_raw": 203369576.078601, + "legacy_quote_remaining_raw": 19754972.921399, + "projected_v2_base_raw": 208437742.078601, + "projected_v2_quote_raw": 208437742.078601 + }, + { + "round": 121, + "rate_bps": 200, + "extracted_this_round_raw": 395099.458428, + "cumulative_extracted_raw": 203764675.537029, + "legacy_quote_remaining_raw": 19359873.462971, + "projected_v2_base_raw": 208832841.537029, + "projected_v2_quote_raw": 208832841.537029 + }, + { + "round": 122, + "rate_bps": 200, + "extracted_this_round_raw": 387197.469259, + "cumulative_extracted_raw": 204151873.006289, + "legacy_quote_remaining_raw": 18972675.993711, + "projected_v2_base_raw": 209220039.006289, + "projected_v2_quote_raw": 209220039.006289 + }, + { + "round": 123, + "rate_bps": 200, + "extracted_this_round_raw": 379453.519874, + "cumulative_extracted_raw": 204531326.526163, + "legacy_quote_remaining_raw": 18593222.473837, + "projected_v2_base_raw": 209599492.526163, + "projected_v2_quote_raw": 209599492.526163 + }, + { + "round": 124, + "rate_bps": 200, + "extracted_this_round_raw": 371864.449477, + "cumulative_extracted_raw": 204903190.97564, + "legacy_quote_remaining_raw": 18221358.02436, + "projected_v2_base_raw": 209971356.97564, + "projected_v2_quote_raw": 209971356.97564 + }, + { + "round": 125, + "rate_bps": 200, + "extracted_this_round_raw": 364427.160487, + "cumulative_extracted_raw": 205267618.136127, + "legacy_quote_remaining_raw": 17856930.863873, + "projected_v2_base_raw": 210335784.136127, + "projected_v2_quote_raw": 210335784.136127 + }, + { + "round": 126, + "rate_bps": 200, + "extracted_this_round_raw": 357138.617277, + "cumulative_extracted_raw": 205624756.753404, + "legacy_quote_remaining_raw": 17499792.246596, + "projected_v2_base_raw": 210692922.753404, + "projected_v2_quote_raw": 210692922.753404 + }, + { + "round": 127, + "rate_bps": 200, + "extracted_this_round_raw": 349995.844932, + "cumulative_extracted_raw": 205974752.598336, + "legacy_quote_remaining_raw": 17149796.401664, + "projected_v2_base_raw": 211042918.598336, + "projected_v2_quote_raw": 211042918.598336 + }, + { + "round": 128, + "rate_bps": 200, + "extracted_this_round_raw": 342995.928033, + "cumulative_extracted_raw": 206317748.52637, + "legacy_quote_remaining_raw": 16806800.47363, + "projected_v2_base_raw": 211385914.52637, + "projected_v2_quote_raw": 211385914.52637 + }, + { + "round": 129, + "rate_bps": 200, + "extracted_this_round_raw": 336136.009473, + "cumulative_extracted_raw": 206653884.535842, + "legacy_quote_remaining_raw": 16470664.464158, + "projected_v2_base_raw": 211722050.535842, + "projected_v2_quote_raw": 211722050.535842 + }, + { + "round": 130, + "rate_bps": 200, + "extracted_this_round_raw": 329413.289283, + "cumulative_extracted_raw": 206983297.825125, + "legacy_quote_remaining_raw": 16141251.174875, + "projected_v2_base_raw": 212051463.825125, + "projected_v2_quote_raw": 212051463.825125 + }, + { + "round": 131, + "rate_bps": 200, + "extracted_this_round_raw": 322825.023497, + "cumulative_extracted_raw": 207306122.848623, + "legacy_quote_remaining_raw": 15818426.151377, + "projected_v2_base_raw": 212374288.848623, + "projected_v2_quote_raw": 212374288.848623 + }, + { + "round": 132, + "rate_bps": 200, + "extracted_this_round_raw": 316368.523028, + "cumulative_extracted_raw": 207622491.37165, + "legacy_quote_remaining_raw": 15502057.62835, + "projected_v2_base_raw": 212690657.37165, + "projected_v2_quote_raw": 212690657.37165 + }, + { + "round": 133, + "rate_bps": 200, + "extracted_this_round_raw": 310041.152567, + "cumulative_extracted_raw": 207932532.524217, + "legacy_quote_remaining_raw": 15192016.475783, + "projected_v2_base_raw": 213000698.524217, + "projected_v2_quote_raw": 213000698.524217 + }, + { + "round": 134, + "rate_bps": 200, + "extracted_this_round_raw": 303840.329516, + "cumulative_extracted_raw": 208236372.853733, + "legacy_quote_remaining_raw": 14888176.146267, + "projected_v2_base_raw": 213304538.853733, + "projected_v2_quote_raw": 213304538.853733 + }, + { + "round": 135, + "rate_bps": 200, + "extracted_this_round_raw": 297763.522925, + "cumulative_extracted_raw": 208534136.376658, + "legacy_quote_remaining_raw": 14590412.623342, + "projected_v2_base_raw": 213602302.376658, + "projected_v2_quote_raw": 213602302.376658 + }, + { + "round": 136, + "rate_bps": 200, + "extracted_this_round_raw": 291808.252467, + "cumulative_extracted_raw": 208825944.629125, + "legacy_quote_remaining_raw": 14298604.370875, + "projected_v2_base_raw": 213894110.629125, + "projected_v2_quote_raw": 213894110.629125 + }, + { + "round": 137, + "rate_bps": 200, + "extracted_this_round_raw": 285972.087417, + "cumulative_extracted_raw": 209111916.716543, + "legacy_quote_remaining_raw": 14012632.283457, + "projected_v2_base_raw": 214180082.716543, + "projected_v2_quote_raw": 214180082.716543 + }, + { + "round": 138, + "rate_bps": 200, + "extracted_this_round_raw": 280252.645669, + "cumulative_extracted_raw": 209392169.362212, + "legacy_quote_remaining_raw": 13732379.637788, + "projected_v2_base_raw": 214460335.362212, + "projected_v2_quote_raw": 214460335.362212 + }, + { + "round": 139, + "rate_bps": 200, + "extracted_this_round_raw": 274647.592756, + "cumulative_extracted_raw": 209666816.954968, + "legacy_quote_remaining_raw": 13457732.045032, + "projected_v2_base_raw": 214734982.954968, + "projected_v2_quote_raw": 214734982.954968 + }, + { + "round": 140, + "rate_bps": 200, + "extracted_this_round_raw": 269154.640901, + "cumulative_extracted_raw": 209935971.595868, + "legacy_quote_remaining_raw": 13188577.404132, + "projected_v2_base_raw": 215004137.595868, + "projected_v2_quote_raw": 215004137.595868 + }, + { + "round": 141, + "rate_bps": 200, + "extracted_this_round_raw": 263771.548083, + "cumulative_extracted_raw": 210199743.143951, + "legacy_quote_remaining_raw": 12924805.856049, + "projected_v2_base_raw": 215267909.143951, + "projected_v2_quote_raw": 215267909.143951 + }, + { + "round": 142, + "rate_bps": 200, + "extracted_this_round_raw": 258496.117121, + "cumulative_extracted_raw": 210458239.261072, + "legacy_quote_remaining_raw": 12666309.738928, + "projected_v2_base_raw": 215526405.261072, + "projected_v2_quote_raw": 215526405.261072 + }, + { + "round": 143, + "rate_bps": 200, + "extracted_this_round_raw": 253326.194779, + "cumulative_extracted_raw": 210711565.45585, + "legacy_quote_remaining_raw": 12412983.54415, + "projected_v2_base_raw": 215779731.45585, + "projected_v2_quote_raw": 215779731.45585 + }, + { + "round": 144, + "rate_bps": 200, + "extracted_this_round_raw": 248259.670883, + "cumulative_extracted_raw": 210959825.126733, + "legacy_quote_remaining_raw": 12164723.873267, + "projected_v2_base_raw": 216027991.126733, + "projected_v2_quote_raw": 216027991.126733 + }, + { + "round": 145, + "rate_bps": 200, + "extracted_this_round_raw": 243294.477465, + "cumulative_extracted_raw": 211203119.604199, + "legacy_quote_remaining_raw": 11921429.395801, + "projected_v2_base_raw": 216271285.604199, + "projected_v2_quote_raw": 216271285.604199 + }, + { + "round": 146, + "rate_bps": 200, + "extracted_this_round_raw": 238428.587916, + "cumulative_extracted_raw": 211441548.192115, + "legacy_quote_remaining_raw": 11683000.807885, + "projected_v2_base_raw": 216509714.192115, + "projected_v2_quote_raw": 216509714.192115 + }, + { + "round": 147, + "rate_bps": 200, + "extracted_this_round_raw": 233660.016158, + "cumulative_extracted_raw": 211675208.208272, + "legacy_quote_remaining_raw": 11449340.791728, + "projected_v2_base_raw": 216743374.208272, + "projected_v2_quote_raw": 216743374.208272 + }, + { + "round": 148, + "rate_bps": 200, + "extracted_this_round_raw": 228986.815835, + "cumulative_extracted_raw": 211904195.024107, + "legacy_quote_remaining_raw": 11220353.975893, + "projected_v2_base_raw": 216972361.024107, + "projected_v2_quote_raw": 216972361.024107 + }, + { + "round": 149, + "rate_bps": 200, + "extracted_this_round_raw": 224407.079518, + "cumulative_extracted_raw": 212128602.103625, + "legacy_quote_remaining_raw": 10995946.896375, + "projected_v2_base_raw": 217196768.103625, + "projected_v2_quote_raw": 217196768.103625 + }, + { + "round": 150, + "rate_bps": 200, + "extracted_this_round_raw": 219918.937928, + "cumulative_extracted_raw": 212348521.041552, + "legacy_quote_remaining_raw": 10776027.958448, + "projected_v2_base_raw": 217416687.041552, + "projected_v2_quote_raw": 217416687.041552 + }, + { + "round": 151, + "rate_bps": 200, + "extracted_this_round_raw": 215520.559169, + "cumulative_extracted_raw": 212564041.600721, + "legacy_quote_remaining_raw": 10560507.399279, + "projected_v2_base_raw": 217632207.600721, + "projected_v2_quote_raw": 217632207.600721 + }, + { + "round": 152, + "rate_bps": 200, + "extracted_this_round_raw": 211210.147986, + "cumulative_extracted_raw": 212775251.748707, + "legacy_quote_remaining_raw": 10349297.251293, + "projected_v2_base_raw": 217843417.748707, + "projected_v2_quote_raw": 217843417.748707 + }, + { + "round": 153, + "rate_bps": 200, + "extracted_this_round_raw": 206985.945026, + "cumulative_extracted_raw": 212982237.693733, + "legacy_quote_remaining_raw": 10142311.306267, + "projected_v2_base_raw": 218050403.693733, + "projected_v2_quote_raw": 218050403.693733 + }, + { + "round": 154, + "rate_bps": 200, + "extracted_this_round_raw": 202846.226125, + "cumulative_extracted_raw": 213185083.919858, + "legacy_quote_remaining_raw": 9939465.080142, + "projected_v2_base_raw": 218253249.919858, + "projected_v2_quote_raw": 218253249.919858 + }, + { + "round": 155, + "rate_bps": 200, + "extracted_this_round_raw": 198789.301603, + "cumulative_extracted_raw": 213383873.221461, + "legacy_quote_remaining_raw": 9740675.778539, + "projected_v2_base_raw": 218452039.221461, + "projected_v2_quote_raw": 218452039.221461 + }, + { + "round": 156, + "rate_bps": 200, + "extracted_this_round_raw": 194813.515571, + "cumulative_extracted_raw": 213578686.737032, + "legacy_quote_remaining_raw": 9545862.262968, + "projected_v2_base_raw": 218646852.737032, + "projected_v2_quote_raw": 218646852.737032 + }, + { + "round": 157, + "rate_bps": 200, + "extracted_this_round_raw": 190917.245259, + "cumulative_extracted_raw": 213769603.982291, + "legacy_quote_remaining_raw": 9354945.017709, + "projected_v2_base_raw": 218837769.982291, + "projected_v2_quote_raw": 218837769.982291 + }, + { + "round": 158, + "rate_bps": 200, + "extracted_this_round_raw": 187098.900354, + "cumulative_extracted_raw": 213956702.882645, + "legacy_quote_remaining_raw": 9167846.117355, + "projected_v2_base_raw": 219024868.882645, + "projected_v2_quote_raw": 219024868.882645 + }, + { + "round": 159, + "rate_bps": 200, + "extracted_this_round_raw": 183356.922347, + "cumulative_extracted_raw": 214140059.804992, + "legacy_quote_remaining_raw": 8984489.195008, + "projected_v2_base_raw": 219208225.804992, + "projected_v2_quote_raw": 219208225.804992 + }, + { + "round": 160, + "rate_bps": 200, + "extracted_this_round_raw": 179689.7839, + "cumulative_extracted_raw": 214319749.588893, + "legacy_quote_remaining_raw": 8804799.411107, + "projected_v2_base_raw": 219387915.588893, + "projected_v2_quote_raw": 219387915.588893 + }, + { + "round": 161, + "rate_bps": 200, + "extracted_this_round_raw": 176095.988222, + "cumulative_extracted_raw": 214495845.577115, + "legacy_quote_remaining_raw": 8628703.422885, + "projected_v2_base_raw": 219564011.577115, + "projected_v2_quote_raw": 219564011.577115 + }, + { + "round": 162, + "rate_bps": 200, + "extracted_this_round_raw": 172574.068458, + "cumulative_extracted_raw": 214668419.645572, + "legacy_quote_remaining_raw": 8456129.354428, + "projected_v2_base_raw": 219736585.645572, + "projected_v2_quote_raw": 219736585.645572 + }, + { + "round": 163, + "rate_bps": 200, + "extracted_this_round_raw": 169122.587089, + "cumulative_extracted_raw": 214837542.232661, + "legacy_quote_remaining_raw": 8287006.767339, + "projected_v2_base_raw": 219905708.232661, + "projected_v2_quote_raw": 219905708.232661 + }, + { + "round": 164, + "rate_bps": 200, + "extracted_this_round_raw": 165740.135347, + "cumulative_extracted_raw": 215003282.368008, + "legacy_quote_remaining_raw": 8121266.631992, + "projected_v2_base_raw": 220071448.368008, + "projected_v2_quote_raw": 220071448.368008 + }, + { + "round": 165, + "rate_bps": 200, + "extracted_this_round_raw": 162425.33264, + "cumulative_extracted_raw": 215165707.700648, + "legacy_quote_remaining_raw": 7958841.299352, + "projected_v2_base_raw": 220233873.700648, + "projected_v2_quote_raw": 220233873.700648 + }, + { + "round": 166, + "rate_bps": 200, + "extracted_this_round_raw": 159176.825987, + "cumulative_extracted_raw": 215324884.526635, + "legacy_quote_remaining_raw": 7799664.473365, + "projected_v2_base_raw": 220393050.526635, + "projected_v2_quote_raw": 220393050.526635 + }, + { + "round": 167, + "rate_bps": 200, + "extracted_this_round_raw": 155993.289467, + "cumulative_extracted_raw": 215480877.816102, + "legacy_quote_remaining_raw": 7643671.183898, + "projected_v2_base_raw": 220549043.816102, + "projected_v2_quote_raw": 220549043.816102 + }, + { + "round": 168, + "rate_bps": 200, + "extracted_this_round_raw": 152873.423678, + "cumulative_extracted_raw": 215633751.23978, + "legacy_quote_remaining_raw": 7490797.76022, + "projected_v2_base_raw": 220701917.23978, + "projected_v2_quote_raw": 220701917.23978 + }, + { + "round": 169, + "rate_bps": 200, + "extracted_this_round_raw": 149815.955204, + "cumulative_extracted_raw": 215783567.194984, + "legacy_quote_remaining_raw": 7340981.805016, + "projected_v2_base_raw": 220851733.194984, + "projected_v2_quote_raw": 220851733.194984 + }, + { + "round": 170, + "rate_bps": 200, + "extracted_this_round_raw": 146819.6361, + "cumulative_extracted_raw": 215930386.831085, + "legacy_quote_remaining_raw": 7194162.168915, + "projected_v2_base_raw": 220998552.831085, + "projected_v2_quote_raw": 220998552.831085 + }, + { + "round": 171, + "rate_bps": 200, + "extracted_this_round_raw": 143883.243378, + "cumulative_extracted_raw": 216074270.074463, + "legacy_quote_remaining_raw": 7050278.925537, + "projected_v2_base_raw": 221142436.074463, + "projected_v2_quote_raw": 221142436.074463 + }, + { + "round": 172, + "rate_bps": 200, + "extracted_this_round_raw": 141005.578511, + "cumulative_extracted_raw": 216215275.652974, + "legacy_quote_remaining_raw": 6909273.347026, + "projected_v2_base_raw": 221283441.652974, + "projected_v2_quote_raw": 221283441.652974 + }, + { + "round": 173, + "rate_bps": 200, + "extracted_this_round_raw": 138185.466941, + "cumulative_extracted_raw": 216353461.119914, + "legacy_quote_remaining_raw": 6771087.880086, + "projected_v2_base_raw": 221421627.119914, + "projected_v2_quote_raw": 221421627.119914 + }, + { + "round": 174, + "rate_bps": 200, + "extracted_this_round_raw": 135421.757602, + "cumulative_extracted_raw": 216488882.877516, + "legacy_quote_remaining_raw": 6635666.122484, + "projected_v2_base_raw": 221557048.877516, + "projected_v2_quote_raw": 221557048.877516 + }, + { + "round": 175, + "rate_bps": 200, + "extracted_this_round_raw": 132713.32245, + "cumulative_extracted_raw": 216621596.199966, + "legacy_quote_remaining_raw": 6502952.800034, + "projected_v2_base_raw": 221689762.199966, + "projected_v2_quote_raw": 221689762.199966 + }, + { + "round": 176, + "rate_bps": 200, + "extracted_this_round_raw": 130059.056001, + "cumulative_extracted_raw": 216751655.255966, + "legacy_quote_remaining_raw": 6372893.744034, + "projected_v2_base_raw": 221819821.255966, + "projected_v2_quote_raw": 221819821.255966 + }, + { + "round": 177, + "rate_bps": 200, + "extracted_this_round_raw": 127457.874881, + "cumulative_extracted_raw": 216879113.130847, + "legacy_quote_remaining_raw": 6245435.869153, + "projected_v2_base_raw": 221947279.130847, + "projected_v2_quote_raw": 221947279.130847 + }, + { + "round": 178, + "rate_bps": 200, + "extracted_this_round_raw": 124908.717383, + "cumulative_extracted_raw": 217004021.84823, + "legacy_quote_remaining_raw": 6120527.15177, + "projected_v2_base_raw": 222072187.84823, + "projected_v2_quote_raw": 222072187.84823 + }, + { + "round": 179, + "rate_bps": 200, + "extracted_this_round_raw": 122410.543035, + "cumulative_extracted_raw": 217126432.391265, + "legacy_quote_remaining_raw": 5998116.608735, + "projected_v2_base_raw": 222194598.391265, + "projected_v2_quote_raw": 222194598.391265 + }, + { + "round": 180, + "rate_bps": 200, + "extracted_this_round_raw": 119962.332175, + "cumulative_extracted_raw": 217246394.72344, + "legacy_quote_remaining_raw": 5878154.27656, + "projected_v2_base_raw": 222314560.72344, + "projected_v2_quote_raw": 222314560.72344 + }, + { + "round": 181, + "rate_bps": 200, + "extracted_this_round_raw": 117563.085531, + "cumulative_extracted_raw": 217363957.808971, + "legacy_quote_remaining_raw": 5760591.191029, + "projected_v2_base_raw": 222432123.808971, + "projected_v2_quote_raw": 222432123.808971 + }, + { + "round": 182, + "rate_bps": 200, + "extracted_this_round_raw": 115211.823821, + "cumulative_extracted_raw": 217479169.632792, + "legacy_quote_remaining_raw": 5645379.367208, + "projected_v2_base_raw": 222547335.632792, + "projected_v2_quote_raw": 222547335.632792 + }, + { + "round": 183, + "rate_bps": 200, + "extracted_this_round_raw": 112907.587344, + "cumulative_extracted_raw": 217592077.220136, + "legacy_quote_remaining_raw": 5532471.779864, + "projected_v2_base_raw": 222660243.220136, + "projected_v2_quote_raw": 222660243.220136 + }, + { + "round": 184, + "rate_bps": 200, + "extracted_this_round_raw": 110649.435597, + "cumulative_extracted_raw": 217702726.655733, + "legacy_quote_remaining_raw": 5421822.344267, + "projected_v2_base_raw": 222770892.655733, + "projected_v2_quote_raw": 222770892.655733 + }, + { + "round": 185, + "rate_bps": 200, + "extracted_this_round_raw": 108436.446885, + "cumulative_extracted_raw": 217811163.102619, + "legacy_quote_remaining_raw": 5313385.897381, + "projected_v2_base_raw": 222879329.102619, + "projected_v2_quote_raw": 222879329.102619 + }, + { + "round": 186, + "rate_bps": 200, + "extracted_this_round_raw": 106267.717948, + "cumulative_extracted_raw": 217917430.820566, + "legacy_quote_remaining_raw": 5207118.179434, + "projected_v2_base_raw": 222985596.820566, + "projected_v2_quote_raw": 222985596.820566 + }, + { + "round": 187, + "rate_bps": 200, + "extracted_this_round_raw": 104142.363589, + "cumulative_extracted_raw": 218021573.184155, + "legacy_quote_remaining_raw": 5102975.815845, + "projected_v2_base_raw": 223089739.184155, + "projected_v2_quote_raw": 223089739.184155 + }, + { + "round": 188, + "rate_bps": 200, + "extracted_this_round_raw": 102059.516317, + "cumulative_extracted_raw": 218123632.700472, + "legacy_quote_remaining_raw": 5000916.299528, + "projected_v2_base_raw": 223191798.700472, + "projected_v2_quote_raw": 223191798.700472 + }, + { + "round": 189, + "rate_bps": 200, + "extracted_this_round_raw": 100018.325991, + "cumulative_extracted_raw": 218223651.026462, + "legacy_quote_remaining_raw": 4900897.973538, + "projected_v2_base_raw": 223291817.026462, + "projected_v2_quote_raw": 223291817.026462 + }, + { + "round": 190, + "rate_bps": 200, + "extracted_this_round_raw": 98017.959471, + "cumulative_extracted_raw": 218321668.985933, + "legacy_quote_remaining_raw": 4802880.014067, + "projected_v2_base_raw": 223389834.985933, + "projected_v2_quote_raw": 223389834.985933 + }, + { + "round": 191, + "rate_bps": 200, + "extracted_this_round_raw": 96057.600281, + "cumulative_extracted_raw": 218417726.586214, + "legacy_quote_remaining_raw": 4706822.413786, + "projected_v2_base_raw": 223485892.586214, + "projected_v2_quote_raw": 223485892.586214 + }, + { + "round": 192, + "rate_bps": 200, + "extracted_this_round_raw": 94136.448276, + "cumulative_extracted_raw": 218511863.03449, + "legacy_quote_remaining_raw": 4612685.96551, + "projected_v2_base_raw": 223580029.03449, + "projected_v2_quote_raw": 223580029.03449 + }, + { + "round": 193, + "rate_bps": 200, + "extracted_this_round_raw": 92253.71931, + "cumulative_extracted_raw": 218604116.7538, + "legacy_quote_remaining_raw": 4520432.2462, + "projected_v2_base_raw": 223672282.7538, + "projected_v2_quote_raw": 223672282.7538 + }, + { + "round": 194, + "rate_bps": 200, + "extracted_this_round_raw": 90408.644924, + "cumulative_extracted_raw": 218694525.398724, + "legacy_quote_remaining_raw": 4430023.601276, + "projected_v2_base_raw": 223762691.398724, + "projected_v2_quote_raw": 223762691.398724 + }, + { + "round": 195, + "rate_bps": 200, + "extracted_this_round_raw": 88600.472026, + "cumulative_extracted_raw": 218783125.87075, + "legacy_quote_remaining_raw": 4341423.12925, + "projected_v2_base_raw": 223851291.87075, + "projected_v2_quote_raw": 223851291.87075 + }, + { + "round": 196, + "rate_bps": 200, + "extracted_this_round_raw": 86828.462585, + "cumulative_extracted_raw": 218869954.333335, + "legacy_quote_remaining_raw": 4254594.666665, + "projected_v2_base_raw": 223938120.333335, + "projected_v2_quote_raw": 223938120.333335 + }, + { + "round": 197, + "rate_bps": 200, + "extracted_this_round_raw": 85091.893333, + "cumulative_extracted_raw": 218955046.226668, + "legacy_quote_remaining_raw": 4169502.773332, + "projected_v2_base_raw": 224023212.226668, + "projected_v2_quote_raw": 224023212.226668 + }, + { + "round": 198, + "rate_bps": 200, + "extracted_this_round_raw": 83390.055467, + "cumulative_extracted_raw": 219038436.282135, + "legacy_quote_remaining_raw": 4086112.717865, + "projected_v2_base_raw": 224106602.282135, + "projected_v2_quote_raw": 224106602.282135 + }, + { + "round": 199, + "rate_bps": 200, + "extracted_this_round_raw": 81722.254357, + "cumulative_extracted_raw": 219120158.536492, + "legacy_quote_remaining_raw": 4004390.463508, + "projected_v2_base_raw": 224188324.536492, + "projected_v2_quote_raw": 224188324.536492 + }, + { + "round": 200, + "rate_bps": 200, + "extracted_this_round_raw": 80087.80927, + "cumulative_extracted_raw": 219200246.345762, + "legacy_quote_remaining_raw": 3924302.654238, + "projected_v2_base_raw": 224268412.345762, + "projected_v2_quote_raw": 224268412.345762 + }, + { + "round": 201, + "rate_bps": 200, + "extracted_this_round_raw": 78486.053085, + "cumulative_extracted_raw": 219278732.398847, + "legacy_quote_remaining_raw": 3845816.601153, + "projected_v2_base_raw": 224346898.398847, + "projected_v2_quote_raw": 224346898.398847 + }, + { + "round": 202, + "rate_bps": 200, + "extracted_this_round_raw": 76916.332023, + "cumulative_extracted_raw": 219355648.73087, + "legacy_quote_remaining_raw": 3768900.26913, + "projected_v2_base_raw": 224423814.73087, + "projected_v2_quote_raw": 224423814.73087 + }, + { + "round": 203, + "rate_bps": 200, + "extracted_this_round_raw": 75378.005383, + "cumulative_extracted_raw": 219431026.736253, + "legacy_quote_remaining_raw": 3693522.263747, + "projected_v2_base_raw": 224499192.736253, + "projected_v2_quote_raw": 224499192.736253 + }, + { + "round": 204, + "rate_bps": 200, + "extracted_this_round_raw": 73870.445275, + "cumulative_extracted_raw": 219504897.181528, + "legacy_quote_remaining_raw": 3619651.818472, + "projected_v2_base_raw": 224573063.181528, + "projected_v2_quote_raw": 224573063.181528 + }, + { + "round": 205, + "rate_bps": 200, + "extracted_this_round_raw": 72393.036369, + "cumulative_extracted_raw": 219577290.217897, + "legacy_quote_remaining_raw": 3547258.782103, + "projected_v2_base_raw": 224645456.217897, + "projected_v2_quote_raw": 224645456.217897 + }, + { + "round": 206, + "rate_bps": 200, + "extracted_this_round_raw": 70945.175642, + "cumulative_extracted_raw": 219648235.393539, + "legacy_quote_remaining_raw": 3476313.606461, + "projected_v2_base_raw": 224716401.393539, + "projected_v2_quote_raw": 224716401.393539 + }, + { + "round": 207, + "rate_bps": 200, + "extracted_this_round_raw": 69526.272129, + "cumulative_extracted_raw": 219717761.665668, + "legacy_quote_remaining_raw": 3406787.334332, + "projected_v2_base_raw": 224785927.665668, + "projected_v2_quote_raw": 224785927.665668 + }, + { + "round": 208, + "rate_bps": 200, + "extracted_this_round_raw": 68135.746687, + "cumulative_extracted_raw": 219785897.412355, + "legacy_quote_remaining_raw": 3338651.587645, + "projected_v2_base_raw": 224854063.412355, + "projected_v2_quote_raw": 224854063.412355 + }, + { + "round": 209, + "rate_bps": 200, + "extracted_this_round_raw": 66773.031753, + "cumulative_extracted_raw": 219852670.444108, + "legacy_quote_remaining_raw": 3271878.555892, + "projected_v2_base_raw": 224920836.444108, + "projected_v2_quote_raw": 224920836.444108 + }, + { + "round": 210, + "rate_bps": 200, + "extracted_this_round_raw": 65437.571118, + "cumulative_extracted_raw": 219918108.015226, + "legacy_quote_remaining_raw": 3206440.984774, + "projected_v2_base_raw": 224986274.015226, + "projected_v2_quote_raw": 224986274.015226 + }, + { + "round": 211, + "rate_bps": 200, + "extracted_this_round_raw": 64128.819695, + "cumulative_extracted_raw": 219982236.834921, + "legacy_quote_remaining_raw": 3142312.165079, + "projected_v2_base_raw": 225050402.834921, + "projected_v2_quote_raw": 225050402.834921 + }, + { + "round": 212, + "rate_bps": 200, + "extracted_this_round_raw": 62846.243302, + "cumulative_extracted_raw": 220045083.078223, + "legacy_quote_remaining_raw": 3079465.921777, + "projected_v2_base_raw": 225113249.078223, + "projected_v2_quote_raw": 225113249.078223 + }, + { + "round": 213, + "rate_bps": 200, + "extracted_this_round_raw": 61589.318436, + "cumulative_extracted_raw": 220106672.396658, + "legacy_quote_remaining_raw": 3017876.603342, + "projected_v2_base_raw": 225174838.396658, + "projected_v2_quote_raw": 225174838.396658 + }, + { + "round": 214, + "rate_bps": 200, + "extracted_this_round_raw": 60357.532067, + "cumulative_extracted_raw": 220167029.928725, + "legacy_quote_remaining_raw": 2957519.071275, + "projected_v2_base_raw": 225235195.928725, + "projected_v2_quote_raw": 225235195.928725 + }, + { + "round": 215, + "rate_bps": 200, + "extracted_this_round_raw": 59150.381425, + "cumulative_extracted_raw": 220226180.310151, + "legacy_quote_remaining_raw": 2898368.689849, + "projected_v2_base_raw": 225294346.310151, + "projected_v2_quote_raw": 225294346.310151 + }, + { + "round": 216, + "rate_bps": 200, + "extracted_this_round_raw": 57967.373797, + "cumulative_extracted_raw": 220284147.683948, + "legacy_quote_remaining_raw": 2840401.316052, + "projected_v2_base_raw": 225352313.683948, + "projected_v2_quote_raw": 225352313.683948 + }, + { + "round": 217, + "rate_bps": 200, + "extracted_this_round_raw": 56808.026321, + "cumulative_extracted_raw": 220340955.710269, + "legacy_quote_remaining_raw": 2783593.289731, + "projected_v2_base_raw": 225409121.710269, + "projected_v2_quote_raw": 225409121.710269 + }, + { + "round": 218, + "rate_bps": 200, + "extracted_this_round_raw": 55671.865795, + "cumulative_extracted_raw": 220396627.576063, + "legacy_quote_remaining_raw": 2727921.423937, + "projected_v2_base_raw": 225464793.576063, + "projected_v2_quote_raw": 225464793.576063 + }, + { + "round": 219, + "rate_bps": 200, + "extracted_this_round_raw": 54558.428479, + "cumulative_extracted_raw": 220451186.004542, + "legacy_quote_remaining_raw": 2673362.995458, + "projected_v2_base_raw": 225519352.004542, + "projected_v2_quote_raw": 225519352.004542 + }, + { + "round": 220, + "rate_bps": 200, + "extracted_this_round_raw": 53467.259909, + "cumulative_extracted_raw": 220504653.264451, + "legacy_quote_remaining_raw": 2619895.735549, + "projected_v2_base_raw": 225572819.264451, + "projected_v2_quote_raw": 225572819.264451 + }, + { + "round": 221, + "rate_bps": 200, + "extracted_this_round_raw": 52397.914711, + "cumulative_extracted_raw": 220557051.179162, + "legacy_quote_remaining_raw": 2567497.820838, + "projected_v2_base_raw": 225625217.179162, + "projected_v2_quote_raw": 225625217.179162 + }, + { + "round": 222, + "rate_bps": 200, + "extracted_this_round_raw": 51349.956417, + "cumulative_extracted_raw": 220608401.135579, + "legacy_quote_remaining_raw": 2516147.864421, + "projected_v2_base_raw": 225676567.135579, + "projected_v2_quote_raw": 225676567.135579 + }, + { + "round": 223, + "rate_bps": 200, + "extracted_this_round_raw": 50322.957288, + "cumulative_extracted_raw": 220658724.092867, + "legacy_quote_remaining_raw": 2465824.907133, + "projected_v2_base_raw": 225726890.092867, + "projected_v2_quote_raw": 225726890.092867 + }, + { + "round": 224, + "rate_bps": 200, + "extracted_this_round_raw": 49316.498143, + "cumulative_extracted_raw": 220708040.59101, + "legacy_quote_remaining_raw": 2416508.40899, + "projected_v2_base_raw": 225776206.59101, + "projected_v2_quote_raw": 225776206.59101 + }, + { + "round": 225, + "rate_bps": 200, + "extracted_this_round_raw": 48330.16818, + "cumulative_extracted_raw": 220756370.75919, + "legacy_quote_remaining_raw": 2368178.24081, + "projected_v2_base_raw": 225824536.75919, + "projected_v2_quote_raw": 225824536.75919 + }, + { + "round": 226, + "rate_bps": 200, + "extracted_this_round_raw": 47363.564816, + "cumulative_extracted_raw": 220803734.324006, + "legacy_quote_remaining_raw": 2320814.675994, + "projected_v2_base_raw": 225871900.324006, + "projected_v2_quote_raw": 225871900.324006 + }, + { + "round": 227, + "rate_bps": 200, + "extracted_this_round_raw": 46416.29352, + "cumulative_extracted_raw": 220850150.617526, + "legacy_quote_remaining_raw": 2274398.382474, + "projected_v2_base_raw": 225918316.617526, + "projected_v2_quote_raw": 225918316.617526 + }, + { + "round": 228, + "rate_bps": 200, + "extracted_this_round_raw": 45487.967649, + "cumulative_extracted_raw": 220895638.585175, + "legacy_quote_remaining_raw": 2228910.414825, + "projected_v2_base_raw": 225963804.585175, + "projected_v2_quote_raw": 225963804.585175 + }, + { + "round": 229, + "rate_bps": 200, + "extracted_this_round_raw": 44578.208296, + "cumulative_extracted_raw": 220940216.793472, + "legacy_quote_remaining_raw": 2184332.206528, + "projected_v2_base_raw": 226008382.793472, + "projected_v2_quote_raw": 226008382.793472 + }, + { + "round": 230, + "rate_bps": 200, + "extracted_this_round_raw": 43686.644131, + "cumulative_extracted_raw": 220983903.437602, + "legacy_quote_remaining_raw": 2140645.562398, + "projected_v2_base_raw": 226052069.437602, + "projected_v2_quote_raw": 226052069.437602 + }, + { + "round": 231, + "rate_bps": 200, + "extracted_this_round_raw": 42812.911248, + "cumulative_extracted_raw": 221026716.34885, + "legacy_quote_remaining_raw": 2097832.65115, + "projected_v2_base_raw": 226094882.34885, + "projected_v2_quote_raw": 226094882.34885 + }, + { + "round": 232, + "rate_bps": 200, + "extracted_this_round_raw": 41956.653023, + "cumulative_extracted_raw": 221068673.001873, + "legacy_quote_remaining_raw": 2055875.998127, + "projected_v2_base_raw": 226136839.001873, + "projected_v2_quote_raw": 226136839.001873 + }, + { + "round": 233, + "rate_bps": 200, + "extracted_this_round_raw": 41117.519963, + "cumulative_extracted_raw": 221109790.521836, + "legacy_quote_remaining_raw": 2014758.478164, + "projected_v2_base_raw": 226177956.521836, + "projected_v2_quote_raw": 226177956.521836 + }, + { + "round": 234, + "rate_bps": 200, + "extracted_this_round_raw": 40295.169563, + "cumulative_extracted_raw": 221150085.691399, + "legacy_quote_remaining_raw": 1974463.308601, + "projected_v2_base_raw": 226218251.691399, + "projected_v2_quote_raw": 226218251.691399 + }, + { + "round": 235, + "rate_bps": 200, + "extracted_this_round_raw": 39489.266172, + "cumulative_extracted_raw": 221189574.957571, + "legacy_quote_remaining_raw": 1934974.042429, + "projected_v2_base_raw": 226257740.957571, + "projected_v2_quote_raw": 226257740.957571 + }, + { + "round": 236, + "rate_bps": 200, + "extracted_this_round_raw": 38699.480849, + "cumulative_extracted_raw": 221228274.43842, + "legacy_quote_remaining_raw": 1896274.56158, + "projected_v2_base_raw": 226296440.43842, + "projected_v2_quote_raw": 226296440.43842 + }, + { + "round": 237, + "rate_bps": 200, + "extracted_this_round_raw": 37925.491232, + "cumulative_extracted_raw": 221266199.929651, + "legacy_quote_remaining_raw": 1858349.070349, + "projected_v2_base_raw": 226334365.929651, + "projected_v2_quote_raw": 226334365.929651 + }, + { + "round": 238, + "rate_bps": 200, + "extracted_this_round_raw": 37166.981407, + "cumulative_extracted_raw": 221303366.911058, + "legacy_quote_remaining_raw": 1821182.088942, + "projected_v2_base_raw": 226371532.911058, + "projected_v2_quote_raw": 226371532.911058 + }, + { + "round": 239, + "rate_bps": 200, + "extracted_this_round_raw": 36423.641779, + "cumulative_extracted_raw": 221339790.552837, + "legacy_quote_remaining_raw": 1784758.447163, + "projected_v2_base_raw": 226407956.552837, + "projected_v2_quote_raw": 226407956.552837 + }, + { + "round": 240, + "rate_bps": 200, + "extracted_this_round_raw": 35695.168943, + "cumulative_extracted_raw": 221375485.72178, + "legacy_quote_remaining_raw": 1749063.27822, + "projected_v2_base_raw": 226443651.72178, + "projected_v2_quote_raw": 226443651.72178 + }, + { + "round": 241, + "rate_bps": 200, + "extracted_this_round_raw": 34981.265564, + "cumulative_extracted_raw": 221410466.987345, + "legacy_quote_remaining_raw": 1714082.012655, + "projected_v2_base_raw": 226478632.987345, + "projected_v2_quote_raw": 226478632.987345 + }, + { + "round": 242, + "rate_bps": 200, + "extracted_this_round_raw": 34281.640253, + "cumulative_extracted_raw": 221444748.627598, + "legacy_quote_remaining_raw": 1679800.372402, + "projected_v2_base_raw": 226512914.627598, + "projected_v2_quote_raw": 226512914.627598 + }, + { + "round": 243, + "rate_bps": 200, + "extracted_this_round_raw": 33596.007448, + "cumulative_extracted_raw": 221478344.635046, + "legacy_quote_remaining_raw": 1646204.364954, + "projected_v2_base_raw": 226546510.635046, + "projected_v2_quote_raw": 226546510.635046 + }, + { + "round": 244, + "rate_bps": 200, + "extracted_this_round_raw": 32924.087299, + "cumulative_extracted_raw": 221511268.722345, + "legacy_quote_remaining_raw": 1613280.277655, + "projected_v2_base_raw": 226579434.722345, + "projected_v2_quote_raw": 226579434.722345 + }, + { + "round": 245, + "rate_bps": 200, + "extracted_this_round_raw": 32265.605553, + "cumulative_extracted_raw": 221543534.327898, + "legacy_quote_remaining_raw": 1581014.672102, + "projected_v2_base_raw": 226611700.327898, + "projected_v2_quote_raw": 226611700.327898 + }, + { + "round": 246, + "rate_bps": 200, + "extracted_this_round_raw": 31620.293442, + "cumulative_extracted_raw": 221575154.62134, + "legacy_quote_remaining_raw": 1549394.37866, + "projected_v2_base_raw": 226643320.62134, + "projected_v2_quote_raw": 226643320.62134 + }, + { + "round": 247, + "rate_bps": 200, + "extracted_this_round_raw": 30987.887573, + "cumulative_extracted_raw": 221606142.508913, + "legacy_quote_remaining_raw": 1518406.491087, + "projected_v2_base_raw": 226674308.508913, + "projected_v2_quote_raw": 226674308.508913 + }, + { + "round": 248, + "rate_bps": 200, + "extracted_this_round_raw": 30368.129822, + "cumulative_extracted_raw": 221636510.638735, + "legacy_quote_remaining_raw": 1488038.361265, + "projected_v2_base_raw": 226704676.638735, + "projected_v2_quote_raw": 226704676.638735 + }, + { + "round": 249, + "rate_bps": 200, + "extracted_this_round_raw": 29760.767225, + "cumulative_extracted_raw": 221666271.40596, + "legacy_quote_remaining_raw": 1458277.59404, + "projected_v2_base_raw": 226734437.40596, + "projected_v2_quote_raw": 226734437.40596 + }, + { + "round": 250, + "rate_bps": 200, + "extracted_this_round_raw": 29165.551881, + "cumulative_extracted_raw": 221695436.957841, + "legacy_quote_remaining_raw": 1429112.042159, + "projected_v2_base_raw": 226763602.957841, + "projected_v2_quote_raw": 226763602.957841 + } + ], + "500": [ + { + "round": 1, + "rate_bps": 500, + "extracted_this_round_raw": 11156227.45, + "cumulative_extracted_raw": 11156227.45, + "legacy_quote_remaining_raw": 211968321.55, + "projected_v2_base_raw": 16224393.45, + "projected_v2_quote_raw": 16224393.45 + }, + { + "round": 2, + "rate_bps": 500, + "extracted_this_round_raw": 10598416.0775, + "cumulative_extracted_raw": 21754643.5275, + "legacy_quote_remaining_raw": 201369905.4725, + "projected_v2_base_raw": 26822809.5275, + "projected_v2_quote_raw": 26822809.5275 + }, + { + "round": 3, + "rate_bps": 500, + "extracted_this_round_raw": 10068495.273625, + "cumulative_extracted_raw": 31823138.801125, + "legacy_quote_remaining_raw": 191301410.198875, + "projected_v2_base_raw": 36891304.801125, + "projected_v2_quote_raw": 36891304.801125 + }, + { + "round": 4, + "rate_bps": 500, + "extracted_this_round_raw": 9565070.509944, + "cumulative_extracted_raw": 41388209.311069, + "legacy_quote_remaining_raw": 181736339.688931, + "projected_v2_base_raw": 46456375.311069, + "projected_v2_quote_raw": 46456375.311069 + }, + { + "round": 5, + "rate_bps": 500, + "extracted_this_round_raw": 9086816.984447, + "cumulative_extracted_raw": 50475026.295515, + "legacy_quote_remaining_raw": 172649522.704485, + "projected_v2_base_raw": 55543192.295515, + "projected_v2_quote_raw": 55543192.295515 + }, + { + "round": 6, + "rate_bps": 500, + "extracted_this_round_raw": 8632476.135224, + "cumulative_extracted_raw": 59107502.43074, + "legacy_quote_remaining_raw": 164017046.56926, + "projected_v2_base_raw": 64175668.43074, + "projected_v2_quote_raw": 64175668.43074 + }, + { + "round": 7, + "rate_bps": 500, + "extracted_this_round_raw": 8200852.328463, + "cumulative_extracted_raw": 67308354.759203, + "legacy_quote_remaining_raw": 155816194.240797, + "projected_v2_base_raw": 72376520.759203, + "projected_v2_quote_raw": 72376520.759203 + }, + { + "round": 8, + "rate_bps": 500, + "extracted_this_round_raw": 7790809.71204, + "cumulative_extracted_raw": 75099164.471242, + "legacy_quote_remaining_raw": 148025384.528758, + "projected_v2_base_raw": 80167330.471242, + "projected_v2_quote_raw": 80167330.471242 + }, + { + "round": 9, + "rate_bps": 500, + "extracted_this_round_raw": 7401269.226438, + "cumulative_extracted_raw": 82500433.69768, + "legacy_quote_remaining_raw": 140624115.30232, + "projected_v2_base_raw": 87568599.69768, + "projected_v2_quote_raw": 87568599.69768 + }, + { + "round": 10, + "rate_bps": 500, + "extracted_this_round_raw": 7031205.765116, + "cumulative_extracted_raw": 89531639.462796, + "legacy_quote_remaining_raw": 133592909.537204, + "projected_v2_base_raw": 94599805.462796, + "projected_v2_quote_raw": 94599805.462796 + }, + { + "round": 11, + "rate_bps": 500, + "extracted_this_round_raw": 6679645.47686, + "cumulative_extracted_raw": 96211284.939656, + "legacy_quote_remaining_raw": 126913264.060344, + "projected_v2_base_raw": 101279450.939656, + "projected_v2_quote_raw": 101279450.939656 + }, + { + "round": 12, + "rate_bps": 500, + "extracted_this_round_raw": 6345663.203017, + "cumulative_extracted_raw": 102556948.142674, + "legacy_quote_remaining_raw": 120567600.857326, + "projected_v2_base_raw": 107625114.142674, + "projected_v2_quote_raw": 107625114.142674 + }, + { + "round": 13, + "rate_bps": 500, + "extracted_this_round_raw": 6028380.042866, + "cumulative_extracted_raw": 108585328.18554, + "legacy_quote_remaining_raw": 114539220.81446, + "projected_v2_base_raw": 113653494.18554, + "projected_v2_quote_raw": 113653494.18554 + }, + { + "round": 14, + "rate_bps": 500, + "extracted_this_round_raw": 5726961.040723, + "cumulative_extracted_raw": 114312289.226263, + "legacy_quote_remaining_raw": 108812259.773737, + "projected_v2_base_raw": 119380455.226263, + "projected_v2_quote_raw": 119380455.226263 + }, + { + "round": 15, + "rate_bps": 500, + "extracted_this_round_raw": 5440612.988687, + "cumulative_extracted_raw": 119752902.21495, + "legacy_quote_remaining_raw": 103371646.78505, + "projected_v2_base_raw": 124821068.21495, + "projected_v2_quote_raw": 124821068.21495 + }, + { + "round": 16, + "rate_bps": 500, + "extracted_this_round_raw": 5168582.339253, + "cumulative_extracted_raw": 124921484.554202, + "legacy_quote_remaining_raw": 98203064.445798, + "projected_v2_base_raw": 129989650.554202, + "projected_v2_quote_raw": 129989650.554202 + }, + { + "round": 17, + "rate_bps": 500, + "extracted_this_round_raw": 4910153.22229, + "cumulative_extracted_raw": 129831637.776492, + "legacy_quote_remaining_raw": 93292911.223508, + "projected_v2_base_raw": 134899803.776492, + "projected_v2_quote_raw": 134899803.776492 + }, + { + "round": 18, + "rate_bps": 500, + "extracted_this_round_raw": 4664645.561175, + "cumulative_extracted_raw": 134496283.337668, + "legacy_quote_remaining_raw": 88628265.662332, + "projected_v2_base_raw": 139564449.337668, + "projected_v2_quote_raw": 139564449.337668 + }, + { + "round": 19, + "rate_bps": 500, + "extracted_this_round_raw": 4431413.283117, + "cumulative_extracted_raw": 138927696.620784, + "legacy_quote_remaining_raw": 84196852.379216, + "projected_v2_base_raw": 143995862.620784, + "projected_v2_quote_raw": 143995862.620784 + }, + { + "round": 20, + "rate_bps": 500, + "extracted_this_round_raw": 4209842.618961, + "cumulative_extracted_raw": 143137539.239745, + "legacy_quote_remaining_raw": 79987009.760255, + "projected_v2_base_raw": 148205705.239745, + "projected_v2_quote_raw": 148205705.239745 + }, + { + "round": 21, + "rate_bps": 500, + "extracted_this_round_raw": 3999350.488013, + "cumulative_extracted_raw": 147136889.727758, + "legacy_quote_remaining_raw": 75987659.272242, + "projected_v2_base_raw": 152205055.727758, + "projected_v2_quote_raw": 152205055.727758 + }, + { + "round": 22, + "rate_bps": 500, + "extracted_this_round_raw": 3799382.963612, + "cumulative_extracted_raw": 150936272.69137, + "legacy_quote_remaining_raw": 72188276.30863, + "projected_v2_base_raw": 156004438.69137, + "projected_v2_quote_raw": 156004438.69137 + }, + { + "round": 23, + "rate_bps": 500, + "extracted_this_round_raw": 3609413.815432, + "cumulative_extracted_raw": 154545686.506801, + "legacy_quote_remaining_raw": 68578862.493199, + "projected_v2_base_raw": 159613852.506801, + "projected_v2_quote_raw": 159613852.506801 + }, + { + "round": 24, + "rate_bps": 500, + "extracted_this_round_raw": 3428943.12466, + "cumulative_extracted_raw": 157974629.631461, + "legacy_quote_remaining_raw": 65149919.368539, + "projected_v2_base_raw": 163042795.631461, + "projected_v2_quote_raw": 163042795.631461 + }, + { + "round": 25, + "rate_bps": 500, + "extracted_this_round_raw": 3257495.968427, + "cumulative_extracted_raw": 161232125.599888, + "legacy_quote_remaining_raw": 61892423.400112, + "projected_v2_base_raw": 166300291.599888, + "projected_v2_quote_raw": 166300291.599888 + }, + { + "round": 26, + "rate_bps": 500, + "extracted_this_round_raw": 3094621.170006, + "cumulative_extracted_raw": 164326746.769894, + "legacy_quote_remaining_raw": 58797802.230106, + "projected_v2_base_raw": 169394912.769894, + "projected_v2_quote_raw": 169394912.769894 + }, + { + "round": 27, + "rate_bps": 500, + "extracted_this_round_raw": 2939890.111505, + "cumulative_extracted_raw": 167266636.881399, + "legacy_quote_remaining_raw": 55857912.118601, + "projected_v2_base_raw": 172334802.881399, + "projected_v2_quote_raw": 172334802.881399 + }, + { + "round": 28, + "rate_bps": 500, + "extracted_this_round_raw": 2792895.60593, + "cumulative_extracted_raw": 170059532.487329, + "legacy_quote_remaining_raw": 53065016.512671, + "projected_v2_base_raw": 175127698.487329, + "projected_v2_quote_raw": 175127698.487329 + }, + { + "round": 29, + "rate_bps": 500, + "extracted_this_round_raw": 2653250.825634, + "cumulative_extracted_raw": 172712783.312963, + "legacy_quote_remaining_raw": 50411765.687037, + "projected_v2_base_raw": 177780949.312963, + "projected_v2_quote_raw": 177780949.312963 + }, + { + "round": 30, + "rate_bps": 500, + "extracted_this_round_raw": 2520588.284352, + "cumulative_extracted_raw": 175233371.597315, + "legacy_quote_remaining_raw": 47891177.402685, + "projected_v2_base_raw": 180301537.597315, + "projected_v2_quote_raw": 180301537.597315 + }, + { + "round": 31, + "rate_bps": 500, + "extracted_this_round_raw": 2394558.870134, + "cumulative_extracted_raw": 177627930.467449, + "legacy_quote_remaining_raw": 45496618.532551, + "projected_v2_base_raw": 182696096.467449, + "projected_v2_quote_raw": 182696096.467449 + }, + { + "round": 32, + "rate_bps": 500, + "extracted_this_round_raw": 2274830.926628, + "cumulative_extracted_raw": 179902761.394076, + "legacy_quote_remaining_raw": 43221787.605924, + "projected_v2_base_raw": 184970927.394076, + "projected_v2_quote_raw": 184970927.394076 + }, + { + "round": 33, + "rate_bps": 500, + "extracted_this_round_raw": 2161089.380296, + "cumulative_extracted_raw": 182063850.774373, + "legacy_quote_remaining_raw": 41060698.225627, + "projected_v2_base_raw": 187132016.774373, + "projected_v2_quote_raw": 187132016.774373 + }, + { + "round": 34, + "rate_bps": 500, + "extracted_this_round_raw": 2053034.911281, + "cumulative_extracted_raw": 184116885.685654, + "legacy_quote_remaining_raw": 39007663.314346, + "projected_v2_base_raw": 189185051.685654, + "projected_v2_quote_raw": 189185051.685654 + }, + { + "round": 35, + "rate_bps": 500, + "extracted_this_round_raw": 1950383.165717, + "cumulative_extracted_raw": 186067268.851371, + "legacy_quote_remaining_raw": 37057280.148629, + "projected_v2_base_raw": 191135434.851371, + "projected_v2_quote_raw": 191135434.851371 + }, + { + "round": 36, + "rate_bps": 500, + "extracted_this_round_raw": 1852864.007431, + "cumulative_extracted_raw": 187920132.858803, + "legacy_quote_remaining_raw": 35204416.141197, + "projected_v2_base_raw": 192988298.858803, + "projected_v2_quote_raw": 192988298.858803 + }, + { + "round": 37, + "rate_bps": 500, + "extracted_this_round_raw": 1760220.80706, + "cumulative_extracted_raw": 189680353.665863, + "legacy_quote_remaining_raw": 33444195.334137, + "projected_v2_base_raw": 194748519.665863, + "projected_v2_quote_raw": 194748519.665863 + }, + { + "round": 38, + "rate_bps": 500, + "extracted_this_round_raw": 1672209.766707, + "cumulative_extracted_raw": 191352563.432569, + "legacy_quote_remaining_raw": 31771985.567431, + "projected_v2_base_raw": 196420729.432569, + "projected_v2_quote_raw": 196420729.432569 + }, + { + "round": 39, + "rate_bps": 500, + "extracted_this_round_raw": 1588599.278372, + "cumulative_extracted_raw": 192941162.710941, + "legacy_quote_remaining_raw": 30183386.289059, + "projected_v2_base_raw": 198009328.710941, + "projected_v2_quote_raw": 198009328.710941 + }, + { + "round": 40, + "rate_bps": 500, + "extracted_this_round_raw": 1509169.314453, + "cumulative_extracted_raw": 194450332.025394, + "legacy_quote_remaining_raw": 28674216.974606, + "projected_v2_base_raw": 199518498.025394, + "projected_v2_quote_raw": 199518498.025394 + }, + { + "round": 41, + "rate_bps": 500, + "extracted_this_round_raw": 1433710.84873, + "cumulative_extracted_raw": 195884042.874124, + "legacy_quote_remaining_raw": 27240506.125876, + "projected_v2_base_raw": 200952208.874124, + "projected_v2_quote_raw": 200952208.874124 + }, + { + "round": 42, + "rate_bps": 500, + "extracted_this_round_raw": 1362025.306294, + "cumulative_extracted_raw": 197246068.180418, + "legacy_quote_remaining_raw": 25878480.819582, + "projected_v2_base_raw": 202314234.180418, + "projected_v2_quote_raw": 202314234.180418 + }, + { + "round": 43, + "rate_bps": 500, + "extracted_this_round_raw": 1293924.040979, + "cumulative_extracted_raw": 198539992.221397, + "legacy_quote_remaining_raw": 24584556.778603, + "projected_v2_base_raw": 203608158.221397, + "projected_v2_quote_raw": 203608158.221397 + }, + { + "round": 44, + "rate_bps": 500, + "extracted_this_round_raw": 1229227.83893, + "cumulative_extracted_raw": 199769220.060327, + "legacy_quote_remaining_raw": 23355328.939673, + "projected_v2_base_raw": 204837386.060327, + "projected_v2_quote_raw": 204837386.060327 + }, + { + "round": 45, + "rate_bps": 500, + "extracted_this_round_raw": 1167766.446984, + "cumulative_extracted_raw": 200936986.507311, + "legacy_quote_remaining_raw": 22187562.492689, + "projected_v2_base_raw": 206005152.507311, + "projected_v2_quote_raw": 206005152.507311 + }, + { + "round": 46, + "rate_bps": 500, + "extracted_this_round_raw": 1109378.124634, + "cumulative_extracted_raw": 202046364.631945, + "legacy_quote_remaining_raw": 21078184.368055, + "projected_v2_base_raw": 207114530.631945, + "projected_v2_quote_raw": 207114530.631945 + }, + { + "round": 47, + "rate_bps": 500, + "extracted_this_round_raw": 1053909.218403, + "cumulative_extracted_raw": 203100273.850348, + "legacy_quote_remaining_raw": 20024275.149652, + "projected_v2_base_raw": 208168439.850348, + "projected_v2_quote_raw": 208168439.850348 + }, + { + "round": 48, + "rate_bps": 500, + "extracted_this_round_raw": 1001213.757483, + "cumulative_extracted_raw": 204101487.607831, + "legacy_quote_remaining_raw": 19023061.392169, + "projected_v2_base_raw": 209169653.607831, + "projected_v2_quote_raw": 209169653.607831 + }, + { + "round": 49, + "rate_bps": 500, + "extracted_this_round_raw": 951153.069608, + "cumulative_extracted_raw": 205052640.677439, + "legacy_quote_remaining_raw": 18071908.322561, + "projected_v2_base_raw": 210120806.677439, + "projected_v2_quote_raw": 210120806.677439 + }, + { + "round": 50, + "rate_bps": 500, + "extracted_this_round_raw": 903595.416128, + "cumulative_extracted_raw": 205956236.093567, + "legacy_quote_remaining_raw": 17168312.906433, + "projected_v2_base_raw": 211024402.093567, + "projected_v2_quote_raw": 211024402.093567 + }, + { + "round": 51, + "rate_bps": 500, + "extracted_this_round_raw": 858415.645322, + "cumulative_extracted_raw": 206814651.738889, + "legacy_quote_remaining_raw": 16309897.261111, + "projected_v2_base_raw": 211882817.738889, + "projected_v2_quote_raw": 211882817.738889 + }, + { + "round": 52, + "rate_bps": 500, + "extracted_this_round_raw": 815494.863056, + "cumulative_extracted_raw": 207630146.601944, + "legacy_quote_remaining_raw": 15494402.398056, + "projected_v2_base_raw": 212698312.601944, + "projected_v2_quote_raw": 212698312.601944 + }, + { + "round": 53, + "rate_bps": 500, + "extracted_this_round_raw": 774720.119903, + "cumulative_extracted_raw": 208404866.721847, + "legacy_quote_remaining_raw": 14719682.278153, + "projected_v2_base_raw": 213473032.721847, + "projected_v2_quote_raw": 213473032.721847 + }, + { + "round": 54, + "rate_bps": 500, + "extracted_this_round_raw": 735984.113908, + "cumulative_extracted_raw": 209140850.835755, + "legacy_quote_remaining_raw": 13983698.164245, + "projected_v2_base_raw": 214209016.835755, + "projected_v2_quote_raw": 214209016.835755 + }, + { + "round": 55, + "rate_bps": 500, + "extracted_this_round_raw": 699184.908212, + "cumulative_extracted_raw": 209840035.743967, + "legacy_quote_remaining_raw": 13284513.256033, + "projected_v2_base_raw": 214908201.743967, + "projected_v2_quote_raw": 214908201.743967 + }, + { + "round": 56, + "rate_bps": 500, + "extracted_this_round_raw": 664225.662802, + "cumulative_extracted_raw": 210504261.406769, + "legacy_quote_remaining_raw": 12620287.593231, + "projected_v2_base_raw": 215572427.406769, + "projected_v2_quote_raw": 215572427.406769 + }, + { + "round": 57, + "rate_bps": 500, + "extracted_this_round_raw": 631014.379662, + "cumulative_extracted_raw": 211135275.78643, + "legacy_quote_remaining_raw": 11989273.21357, + "projected_v2_base_raw": 216203441.78643, + "projected_v2_quote_raw": 216203441.78643 + }, + { + "round": 58, + "rate_bps": 500, + "extracted_this_round_raw": 599463.660678, + "cumulative_extracted_raw": 211734739.447109, + "legacy_quote_remaining_raw": 11389809.552891, + "projected_v2_base_raw": 216802905.447109, + "projected_v2_quote_raw": 216802905.447109 + }, + { + "round": 59, + "rate_bps": 500, + "extracted_this_round_raw": 569490.477645, + "cumulative_extracted_raw": 212304229.924753, + "legacy_quote_remaining_raw": 10820319.075247, + "projected_v2_base_raw": 217372395.924753, + "projected_v2_quote_raw": 217372395.924753 + }, + { + "round": 60, + "rate_bps": 500, + "extracted_this_round_raw": 541015.953762, + "cumulative_extracted_raw": 212845245.878516, + "legacy_quote_remaining_raw": 10279303.121484, + "projected_v2_base_raw": 217913411.878516, + "projected_v2_quote_raw": 217913411.878516 + }, + { + "round": 61, + "rate_bps": 500, + "extracted_this_round_raw": 513965.156074, + "cumulative_extracted_raw": 213359211.03459, + "legacy_quote_remaining_raw": 9765337.96541, + "projected_v2_base_raw": 218427377.03459, + "projected_v2_quote_raw": 218427377.03459 + }, + { + "round": 62, + "rate_bps": 500, + "extracted_this_round_raw": 488266.898271, + "cumulative_extracted_raw": 213847477.93286, + "legacy_quote_remaining_raw": 9277071.06714, + "projected_v2_base_raw": 218915643.93286, + "projected_v2_quote_raw": 218915643.93286 + }, + { + "round": 63, + "rate_bps": 500, + "extracted_this_round_raw": 463853.553357, + "cumulative_extracted_raw": 214311331.486217, + "legacy_quote_remaining_raw": 8813217.513783, + "projected_v2_base_raw": 219379497.486217, + "projected_v2_quote_raw": 219379497.486217 + }, + { + "round": 64, + "rate_bps": 500, + "extracted_this_round_raw": 440660.875689, + "cumulative_extracted_raw": 214751992.361906, + "legacy_quote_remaining_raw": 8372556.638094, + "projected_v2_base_raw": 219820158.361906, + "projected_v2_quote_raw": 219820158.361906 + }, + { + "round": 65, + "rate_bps": 500, + "extracted_this_round_raw": 418627.831905, + "cumulative_extracted_raw": 215170620.193811, + "legacy_quote_remaining_raw": 7953928.806189, + "projected_v2_base_raw": 220238786.193811, + "projected_v2_quote_raw": 220238786.193811 + }, + { + "round": 66, + "rate_bps": 500, + "extracted_this_round_raw": 397696.440309, + "cumulative_extracted_raw": 215568316.634121, + "legacy_quote_remaining_raw": 7556232.365879, + "projected_v2_base_raw": 220636482.634121, + "projected_v2_quote_raw": 220636482.634121 + }, + { + "round": 67, + "rate_bps": 500, + "extracted_this_round_raw": 377811.618294, + "cumulative_extracted_raw": 215946128.252415, + "legacy_quote_remaining_raw": 7178420.747585, + "projected_v2_base_raw": 221014294.252415, + "projected_v2_quote_raw": 221014294.252415 + }, + { + "round": 68, + "rate_bps": 500, + "extracted_this_round_raw": 358921.037379, + "cumulative_extracted_raw": 216305049.289794, + "legacy_quote_remaining_raw": 6819499.710206, + "projected_v2_base_raw": 221373215.289794, + "projected_v2_quote_raw": 221373215.289794 + }, + { + "round": 69, + "rate_bps": 500, + "extracted_this_round_raw": 340974.98551, + "cumulative_extracted_raw": 216646024.275304, + "legacy_quote_remaining_raw": 6478524.724696, + "projected_v2_base_raw": 221714190.275304, + "projected_v2_quote_raw": 221714190.275304 + }, + { + "round": 70, + "rate_bps": 500, + "extracted_this_round_raw": 323926.236235, + "cumulative_extracted_raw": 216969950.511539, + "legacy_quote_remaining_raw": 6154598.488461, + "projected_v2_base_raw": 222038116.511539, + "projected_v2_quote_raw": 222038116.511539 + }, + { + "round": 71, + "rate_bps": 500, + "extracted_this_round_raw": 307729.924423, + "cumulative_extracted_raw": 217277680.435962, + "legacy_quote_remaining_raw": 5846868.564038, + "projected_v2_base_raw": 222345846.435962, + "projected_v2_quote_raw": 222345846.435962 + }, + { + "round": 72, + "rate_bps": 500, + "extracted_this_round_raw": 292343.428202, + "cumulative_extracted_raw": 217570023.864164, + "legacy_quote_remaining_raw": 5554525.135836, + "projected_v2_base_raw": 222638189.864164, + "projected_v2_quote_raw": 222638189.864164 + }, + { + "round": 73, + "rate_bps": 500, + "extracted_this_round_raw": 277726.256792, + "cumulative_extracted_raw": 217847750.120956, + "legacy_quote_remaining_raw": 5276798.879044, + "projected_v2_base_raw": 222915916.120956, + "projected_v2_quote_raw": 222915916.120956 + }, + { + "round": 74, + "rate_bps": 500, + "extracted_this_round_raw": 263839.943952, + "cumulative_extracted_raw": 218111590.064908, + "legacy_quote_remaining_raw": 5012958.935092, + "projected_v2_base_raw": 223179756.064908, + "projected_v2_quote_raw": 223179756.064908 + }, + { + "round": 75, + "rate_bps": 500, + "extracted_this_round_raw": 250647.946755, + "cumulative_extracted_raw": 218362238.011663, + "legacy_quote_remaining_raw": 4762310.988337, + "projected_v2_base_raw": 223430404.011663, + "projected_v2_quote_raw": 223430404.011663 + }, + { + "round": 76, + "rate_bps": 500, + "extracted_this_round_raw": 238115.549417, + "cumulative_extracted_raw": 218600353.561079, + "legacy_quote_remaining_raw": 4524195.438921, + "projected_v2_base_raw": 223668519.561079, + "projected_v2_quote_raw": 223668519.561079 + }, + { + "round": 77, + "rate_bps": 500, + "extracted_this_round_raw": 226209.771946, + "cumulative_extracted_raw": 218826563.333025, + "legacy_quote_remaining_raw": 4297985.666975, + "projected_v2_base_raw": 223894729.333025, + "projected_v2_quote_raw": 223894729.333025 + }, + { + "round": 78, + "rate_bps": 500, + "extracted_this_round_raw": 214899.283349, + "cumulative_extracted_raw": 219041462.616374, + "legacy_quote_remaining_raw": 4083086.383626, + "projected_v2_base_raw": 224109628.616374, + "projected_v2_quote_raw": 224109628.616374 + }, + { + "round": 79, + "rate_bps": 500, + "extracted_this_round_raw": 204154.319181, + "cumulative_extracted_raw": 219245616.935555, + "legacy_quote_remaining_raw": 3878932.064445, + "projected_v2_base_raw": 224313782.935555, + "projected_v2_quote_raw": 224313782.935555 + }, + { + "round": 80, + "rate_bps": 500, + "extracted_this_round_raw": 193946.603222, + "cumulative_extracted_raw": 219439563.538778, + "legacy_quote_remaining_raw": 3684985.461222, + "projected_v2_base_raw": 224507729.538778, + "projected_v2_quote_raw": 224507729.538778 + }, + { + "round": 81, + "rate_bps": 500, + "extracted_this_round_raw": 184249.273061, + "cumulative_extracted_raw": 219623812.811839, + "legacy_quote_remaining_raw": 3500736.188161, + "projected_v2_base_raw": 224691978.811839, + "projected_v2_quote_raw": 224691978.811839 + }, + { + "round": 82, + "rate_bps": 500, + "extracted_this_round_raw": 175036.809408, + "cumulative_extracted_raw": 219798849.621247, + "legacy_quote_remaining_raw": 3325699.378753, + "projected_v2_base_raw": 224867015.621247, + "projected_v2_quote_raw": 224867015.621247 + }, + { + "round": 83, + "rate_bps": 500, + "extracted_this_round_raw": 166284.968938, + "cumulative_extracted_raw": 219965134.590185, + "legacy_quote_remaining_raw": 3159414.409815, + "projected_v2_base_raw": 225033300.590185, + "projected_v2_quote_raw": 225033300.590185 + }, + { + "round": 84, + "rate_bps": 500, + "extracted_this_round_raw": 157970.720491, + "cumulative_extracted_raw": 220123105.310675, + "legacy_quote_remaining_raw": 3001443.689325, + "projected_v2_base_raw": 225191271.310675, + "projected_v2_quote_raw": 225191271.310675 + }, + { + "round": 85, + "rate_bps": 500, + "extracted_this_round_raw": 150072.184466, + "cumulative_extracted_raw": 220273177.495142, + "legacy_quote_remaining_raw": 2851371.504858, + "projected_v2_base_raw": 225341343.495142, + "projected_v2_quote_raw": 225341343.495142 + }, + { + "round": 86, + "rate_bps": 500, + "extracted_this_round_raw": 142568.575243, + "cumulative_extracted_raw": 220415746.070384, + "legacy_quote_remaining_raw": 2708802.929616, + "projected_v2_base_raw": 225483912.070384, + "projected_v2_quote_raw": 225483912.070384 + }, + { + "round": 87, + "rate_bps": 500, + "extracted_this_round_raw": 135440.146481, + "cumulative_extracted_raw": 220551186.216865, + "legacy_quote_remaining_raw": 2573362.783135, + "projected_v2_base_raw": 225619352.216865, + "projected_v2_quote_raw": 225619352.216865 + }, + { + "round": 88, + "rate_bps": 500, + "extracted_this_round_raw": 128668.139157, + "cumulative_extracted_raw": 220679854.356022, + "legacy_quote_remaining_raw": 2444694.643978, + "projected_v2_base_raw": 225748020.356022, + "projected_v2_quote_raw": 225748020.356022 + }, + { + "round": 89, + "rate_bps": 500, + "extracted_this_round_raw": 122234.732199, + "cumulative_extracted_raw": 220802089.088221, + "legacy_quote_remaining_raw": 2322459.911779, + "projected_v2_base_raw": 225870255.088221, + "projected_v2_quote_raw": 225870255.088221 + }, + { + "round": 90, + "rate_bps": 500, + "extracted_this_round_raw": 116122.995589, + "cumulative_extracted_raw": 220918212.08381, + "legacy_quote_remaining_raw": 2206336.91619, + "projected_v2_base_raw": 225986378.08381, + "projected_v2_quote_raw": 225986378.08381 + }, + { + "round": 91, + "rate_bps": 500, + "extracted_this_round_raw": 110316.84581, + "cumulative_extracted_raw": 221028528.929619, + "legacy_quote_remaining_raw": 2096020.070381, + "projected_v2_base_raw": 226096694.929619, + "projected_v2_quote_raw": 226096694.929619 + }, + { + "round": 92, + "rate_bps": 500, + "extracted_this_round_raw": 104801.003519, + "cumulative_extracted_raw": 221133329.933138, + "legacy_quote_remaining_raw": 1991219.066862, + "projected_v2_base_raw": 226201495.933138, + "projected_v2_quote_raw": 226201495.933138 + }, + { + "round": 93, + "rate_bps": 500, + "extracted_this_round_raw": 99560.953343, + "cumulative_extracted_raw": 221232890.886481, + "legacy_quote_remaining_raw": 1891658.113519, + "projected_v2_base_raw": 226301056.886481, + "projected_v2_quote_raw": 226301056.886481 + }, + { + "round": 94, + "rate_bps": 500, + "extracted_this_round_raw": 94582.905676, + "cumulative_extracted_raw": 221327473.792157, + "legacy_quote_remaining_raw": 1797075.207843, + "projected_v2_base_raw": 226395639.792157, + "projected_v2_quote_raw": 226395639.792157 + }, + { + "round": 95, + "rate_bps": 500, + "extracted_this_round_raw": 89853.760392, + "cumulative_extracted_raw": 221417327.55255, + "legacy_quote_remaining_raw": 1707221.44745, + "projected_v2_base_raw": 226485493.55255, + "projected_v2_quote_raw": 226485493.55255 + }, + { + "round": 96, + "rate_bps": 500, + "extracted_this_round_raw": 85361.072373, + "cumulative_extracted_raw": 221502688.624922, + "legacy_quote_remaining_raw": 1621860.375078, + "projected_v2_base_raw": 226570854.624922, + "projected_v2_quote_raw": 226570854.624922 + }, + { + "round": 97, + "rate_bps": 500, + "extracted_this_round_raw": 81093.018754, + "cumulative_extracted_raw": 221583781.643676, + "legacy_quote_remaining_raw": 1540767.356324, + "projected_v2_base_raw": 226651947.643676, + "projected_v2_quote_raw": 226651947.643676 + }, + { + "round": 98, + "rate_bps": 500, + "extracted_this_round_raw": 77038.367816, + "cumulative_extracted_raw": 221660820.011492, + "legacy_quote_remaining_raw": 1463728.988508, + "projected_v2_base_raw": 226728986.011492, + "projected_v2_quote_raw": 226728986.011492 + }, + { + "round": 99, + "rate_bps": 500, + "extracted_this_round_raw": 73186.449425, + "cumulative_extracted_raw": 221734006.460918, + "legacy_quote_remaining_raw": 1390542.539082, + "projected_v2_base_raw": 226802172.460918, + "projected_v2_quote_raw": 226802172.460918 + }, + { + "round": 100, + "rate_bps": 500, + "extracted_this_round_raw": 69527.126954, + "cumulative_extracted_raw": 221803533.587872, + "legacy_quote_remaining_raw": 1321015.412128, + "projected_v2_base_raw": 226871699.587872, + "projected_v2_quote_raw": 226871699.587872 + }, + { + "round": 101, + "rate_bps": 500, + "extracted_this_round_raw": 66050.770606, + "cumulative_extracted_raw": 221869584.358478, + "legacy_quote_remaining_raw": 1254964.641522, + "projected_v2_base_raw": 226937750.358478, + "projected_v2_quote_raw": 226937750.358478 + }, + { + "round": 102, + "rate_bps": 500, + "extracted_this_round_raw": 62748.232076, + "cumulative_extracted_raw": 221932332.590554, + "legacy_quote_remaining_raw": 1192216.409446, + "projected_v2_base_raw": 227000498.590554, + "projected_v2_quote_raw": 227000498.590554 + }, + { + "round": 103, + "rate_bps": 500, + "extracted_this_round_raw": 59610.820472, + "cumulative_extracted_raw": 221991943.411026, + "legacy_quote_remaining_raw": 1132605.588974, + "projected_v2_base_raw": 227060109.411026, + "projected_v2_quote_raw": 227060109.411026 + }, + { + "round": 104, + "rate_bps": 500, + "extracted_this_round_raw": 56630.279449, + "cumulative_extracted_raw": 222048573.690475, + "legacy_quote_remaining_raw": 1075975.309525, + "projected_v2_base_raw": 227116739.690475, + "projected_v2_quote_raw": 227116739.690475 + }, + { + "round": 105, + "rate_bps": 500, + "extracted_this_round_raw": 53798.765476, + "cumulative_extracted_raw": 222102372.455951, + "legacy_quote_remaining_raw": 1022176.544049, + "projected_v2_base_raw": 227170538.455951, + "projected_v2_quote_raw": 227170538.455951 + }, + { + "round": 106, + "rate_bps": 500, + "extracted_this_round_raw": 51108.827202, + "cumulative_extracted_raw": 222153481.283154, + "legacy_quote_remaining_raw": 971067.716846, + "projected_v2_base_raw": 227221647.283154, + "projected_v2_quote_raw": 227221647.283154 + }, + { + "round": 107, + "rate_bps": 500, + "extracted_this_round_raw": 48553.385842, + "cumulative_extracted_raw": 222202034.668996, + "legacy_quote_remaining_raw": 922514.331004, + "projected_v2_base_raw": 227270200.668996, + "projected_v2_quote_raw": 227270200.668996 + }, + { + "round": 108, + "rate_bps": 500, + "extracted_this_round_raw": 46125.71655, + "cumulative_extracted_raw": 222248160.385546, + "legacy_quote_remaining_raw": 876388.614454, + "projected_v2_base_raw": 227316326.385546, + "projected_v2_quote_raw": 227316326.385546 + }, + { + "round": 109, + "rate_bps": 500, + "extracted_this_round_raw": 43819.430723, + "cumulative_extracted_raw": 222291979.816269, + "legacy_quote_remaining_raw": 832569.183731, + "projected_v2_base_raw": 227360145.816269, + "projected_v2_quote_raw": 227360145.816269 + }, + { + "round": 110, + "rate_bps": 500, + "extracted_this_round_raw": 41628.459187, + "cumulative_extracted_raw": 222333608.275456, + "legacy_quote_remaining_raw": 790940.724544, + "projected_v2_base_raw": 227401774.275456, + "projected_v2_quote_raw": 227401774.275456 + }, + { + "round": 111, + "rate_bps": 500, + "extracted_this_round_raw": 39547.036227, + "cumulative_extracted_raw": 222373155.311683, + "legacy_quote_remaining_raw": 751393.688317, + "projected_v2_base_raw": 227441321.311683, + "projected_v2_quote_raw": 227441321.311683 + }, + { + "round": 112, + "rate_bps": 500, + "extracted_this_round_raw": 37569.684416, + "cumulative_extracted_raw": 222410724.996099, + "legacy_quote_remaining_raw": 713824.003901, + "projected_v2_base_raw": 227478890.996099, + "projected_v2_quote_raw": 227478890.996099 + }, + { + "round": 113, + "rate_bps": 500, + "extracted_this_round_raw": 35691.200195, + "cumulative_extracted_raw": 222446416.196294, + "legacy_quote_remaining_raw": 678132.803706, + "projected_v2_base_raw": 227514582.196294, + "projected_v2_quote_raw": 227514582.196294 + }, + { + "round": 114, + "rate_bps": 500, + "extracted_this_round_raw": 33906.640185, + "cumulative_extracted_raw": 222480322.836479, + "legacy_quote_remaining_raw": 644226.163521, + "projected_v2_base_raw": 227548488.836479, + "projected_v2_quote_raw": 227548488.836479 + }, + { + "round": 115, + "rate_bps": 500, + "extracted_this_round_raw": 32211.308176, + "cumulative_extracted_raw": 222512534.144655, + "legacy_quote_remaining_raw": 612014.855345, + "projected_v2_base_raw": 227580700.144655, + "projected_v2_quote_raw": 227580700.144655 + }, + { + "round": 116, + "rate_bps": 500, + "extracted_this_round_raw": 30600.742767, + "cumulative_extracted_raw": 222543134.887422, + "legacy_quote_remaining_raw": 581414.112578, + "projected_v2_base_raw": 227611300.887422, + "projected_v2_quote_raw": 227611300.887422 + }, + { + "round": 117, + "rate_bps": 500, + "extracted_this_round_raw": 29070.705629, + "cumulative_extracted_raw": 222572205.593051, + "legacy_quote_remaining_raw": 552343.406949, + "projected_v2_base_raw": 227640371.593051, + "projected_v2_quote_raw": 227640371.593051 + }, + { + "round": 118, + "rate_bps": 500, + "extracted_this_round_raw": 27617.170347, + "cumulative_extracted_raw": 222599822.763399, + "legacy_quote_remaining_raw": 524726.236601, + "projected_v2_base_raw": 227667988.763399, + "projected_v2_quote_raw": 227667988.763399 + }, + { + "round": 119, + "rate_bps": 500, + "extracted_this_round_raw": 26236.31183, + "cumulative_extracted_raw": 222626059.075229, + "legacy_quote_remaining_raw": 498489.924771, + "projected_v2_base_raw": 227694225.075229, + "projected_v2_quote_raw": 227694225.075229 + }, + { + "round": 120, + "rate_bps": 500, + "extracted_this_round_raw": 24924.496239, + "cumulative_extracted_raw": 222650983.571467, + "legacy_quote_remaining_raw": 473565.428533, + "projected_v2_base_raw": 227719149.571467, + "projected_v2_quote_raw": 227719149.571467 + }, + { + "round": 121, + "rate_bps": 500, + "extracted_this_round_raw": 23678.271427, + "cumulative_extracted_raw": 222674661.842894, + "legacy_quote_remaining_raw": 449887.157106, + "projected_v2_base_raw": 227742827.842894, + "projected_v2_quote_raw": 227742827.842894 + }, + { + "round": 122, + "rate_bps": 500, + "extracted_this_round_raw": 22494.357855, + "cumulative_extracted_raw": 222697156.200749, + "legacy_quote_remaining_raw": 427392.799251, + "projected_v2_base_raw": 227765322.200749, + "projected_v2_quote_raw": 227765322.200749 + }, + { + "round": 123, + "rate_bps": 500, + "extracted_this_round_raw": 21369.639963, + "cumulative_extracted_raw": 222718525.840712, + "legacy_quote_remaining_raw": 406023.159288, + "projected_v2_base_raw": 227786691.840712, + "projected_v2_quote_raw": 227786691.840712 + }, + { + "round": 124, + "rate_bps": 500, + "extracted_this_round_raw": 20301.157964, + "cumulative_extracted_raw": 222738826.998676, + "legacy_quote_remaining_raw": 385722.001324, + "projected_v2_base_raw": 227806992.998676, + "projected_v2_quote_raw": 227806992.998676 + }, + { + "round": 125, + "rate_bps": 500, + "extracted_this_round_raw": 19286.100066, + "cumulative_extracted_raw": 222758113.098742, + "legacy_quote_remaining_raw": 366435.901258, + "projected_v2_base_raw": 227826279.098742, + "projected_v2_quote_raw": 227826279.098742 + }, + { + "round": 126, + "rate_bps": 500, + "extracted_this_round_raw": 18321.795063, + "cumulative_extracted_raw": 222776434.893805, + "legacy_quote_remaining_raw": 348114.106195, + "projected_v2_base_raw": 227844600.893805, + "projected_v2_quote_raw": 227844600.893805 + }, + { + "round": 127, + "rate_bps": 500, + "extracted_this_round_raw": 17405.70531, + "cumulative_extracted_raw": 222793840.599115, + "legacy_quote_remaining_raw": 330708.400885, + "projected_v2_base_raw": 227862006.599115, + "projected_v2_quote_raw": 227862006.599115 + }, + { + "round": 128, + "rate_bps": 500, + "extracted_this_round_raw": 16535.420044, + "cumulative_extracted_raw": 222810376.019159, + "legacy_quote_remaining_raw": 314172.980841, + "projected_v2_base_raw": 227878542.019159, + "projected_v2_quote_raw": 227878542.019159 + }, + { + "round": 129, + "rate_bps": 500, + "extracted_this_round_raw": 15708.649042, + "cumulative_extracted_raw": 222826084.668201, + "legacy_quote_remaining_raw": 298464.331799, + "projected_v2_base_raw": 227894250.668201, + "projected_v2_quote_raw": 227894250.668201 + }, + { + "round": 130, + "rate_bps": 500, + "extracted_this_round_raw": 14923.21659, + "cumulative_extracted_raw": 222841007.884791, + "legacy_quote_remaining_raw": 283541.115209, + "projected_v2_base_raw": 227909173.884791, + "projected_v2_quote_raw": 227909173.884791 + }, + { + "round": 131, + "rate_bps": 500, + "extracted_this_round_raw": 14177.05576, + "cumulative_extracted_raw": 222855184.940552, + "legacy_quote_remaining_raw": 269364.059448, + "projected_v2_base_raw": 227923350.940552, + "projected_v2_quote_raw": 227923350.940552 + }, + { + "round": 132, + "rate_bps": 500, + "extracted_this_round_raw": 13468.202972, + "cumulative_extracted_raw": 222868653.143524, + "legacy_quote_remaining_raw": 255895.856476, + "projected_v2_base_raw": 227936819.143524, + "projected_v2_quote_raw": 227936819.143524 + }, + { + "round": 133, + "rate_bps": 500, + "extracted_this_round_raw": 12794.792824, + "cumulative_extracted_raw": 222881447.936348, + "legacy_quote_remaining_raw": 243101.063652, + "projected_v2_base_raw": 227949613.936348, + "projected_v2_quote_raw": 227949613.936348 + }, + { + "round": 134, + "rate_bps": 500, + "extracted_this_round_raw": 12155.053183, + "cumulative_extracted_raw": 222893602.98953, + "legacy_quote_remaining_raw": 230946.01047, + "projected_v2_base_raw": 227961768.98953, + "projected_v2_quote_raw": 227961768.98953 + }, + { + "round": 135, + "rate_bps": 500, + "extracted_this_round_raw": 11547.300523, + "cumulative_extracted_raw": 222905150.290054, + "legacy_quote_remaining_raw": 219398.709946, + "projected_v2_base_raw": 227973316.290054, + "projected_v2_quote_raw": 227973316.290054 + }, + { + "round": 136, + "rate_bps": 500, + "extracted_this_round_raw": 10969.935497, + "cumulative_extracted_raw": 222916120.225551, + "legacy_quote_remaining_raw": 208428.774449, + "projected_v2_base_raw": 227984286.225551, + "projected_v2_quote_raw": 227984286.225551 + }, + { + "round": 137, + "rate_bps": 500, + "extracted_this_round_raw": 10421.438722, + "cumulative_extracted_raw": 222926541.664274, + "legacy_quote_remaining_raw": 198007.335726, + "projected_v2_base_raw": 227994707.664274, + "projected_v2_quote_raw": 227994707.664274 + }, + { + "round": 138, + "rate_bps": 500, + "extracted_this_round_raw": 9900.366786, + "cumulative_extracted_raw": 222936442.03106, + "legacy_quote_remaining_raw": 188106.96894, + "projected_v2_base_raw": 228004608.03106, + "projected_v2_quote_raw": 228004608.03106 + }, + { + "round": 139, + "rate_bps": 500, + "extracted_this_round_raw": 9405.348447, + "cumulative_extracted_raw": 222945847.379507, + "legacy_quote_remaining_raw": 178701.620493, + "projected_v2_base_raw": 228014013.379507, + "projected_v2_quote_raw": 228014013.379507 + }, + { + "round": 140, + "rate_bps": 500, + "extracted_this_round_raw": 8935.081025, + "cumulative_extracted_raw": 222954782.460532, + "legacy_quote_remaining_raw": 169766.539468, + "projected_v2_base_raw": 228022948.460532, + "projected_v2_quote_raw": 228022948.460532 + }, + { + "round": 141, + "rate_bps": 500, + "extracted_this_round_raw": 8488.326973, + "cumulative_extracted_raw": 222963270.787505, + "legacy_quote_remaining_raw": 161278.212495, + "projected_v2_base_raw": 228031436.787505, + "projected_v2_quote_raw": 228031436.787505 + }, + { + "round": 142, + "rate_bps": 500, + "extracted_this_round_raw": 8063.910625, + "cumulative_extracted_raw": 222971334.69813, + "legacy_quote_remaining_raw": 153214.30187, + "projected_v2_base_raw": 228039500.69813, + "projected_v2_quote_raw": 228039500.69813 + }, + { + "round": 143, + "rate_bps": 500, + "extracted_this_round_raw": 7660.715094, + "cumulative_extracted_raw": 222978995.413223, + "legacy_quote_remaining_raw": 145553.586777, + "projected_v2_base_raw": 228047161.413223, + "projected_v2_quote_raw": 228047161.413223 + }, + { + "round": 144, + "rate_bps": 500, + "extracted_this_round_raw": 7277.679339, + "cumulative_extracted_raw": 222986273.092562, + "legacy_quote_remaining_raw": 138275.907438, + "projected_v2_base_raw": 228054439.092562, + "projected_v2_quote_raw": 228054439.092562 + }, + { + "round": 145, + "rate_bps": 500, + "extracted_this_round_raw": 6913.795372, + "cumulative_extracted_raw": 222993186.887934, + "legacy_quote_remaining_raw": 131362.112066, + "projected_v2_base_raw": 228061352.887934, + "projected_v2_quote_raw": 228061352.887934 + }, + { + "round": 146, + "rate_bps": 500, + "extracted_this_round_raw": 6568.105603, + "cumulative_extracted_raw": 222999754.993537, + "legacy_quote_remaining_raw": 124794.006463, + "projected_v2_base_raw": 228067920.993537, + "projected_v2_quote_raw": 228067920.993537 + }, + { + "round": 147, + "rate_bps": 500, + "extracted_this_round_raw": 6239.700323, + "cumulative_extracted_raw": 223005994.69386, + "legacy_quote_remaining_raw": 118554.30614, + "projected_v2_base_raw": 228074160.69386, + "projected_v2_quote_raw": 228074160.69386 + }, + { + "round": 148, + "rate_bps": 500, + "extracted_this_round_raw": 5927.715307, + "cumulative_extracted_raw": 223011922.409167, + "legacy_quote_remaining_raw": 112626.590833, + "projected_v2_base_raw": 228080088.409167, + "projected_v2_quote_raw": 228080088.409167 + }, + { + "round": 149, + "rate_bps": 500, + "extracted_this_round_raw": 5631.329542, + "cumulative_extracted_raw": 223017553.738709, + "legacy_quote_remaining_raw": 106995.261291, + "projected_v2_base_raw": 228085719.738709, + "projected_v2_quote_raw": 228085719.738709 + }, + { + "round": 150, + "rate_bps": 500, + "extracted_this_round_raw": 5349.763065, + "cumulative_extracted_raw": 223022903.501774, + "legacy_quote_remaining_raw": 101645.498226, + "projected_v2_base_raw": 228091069.501774, + "projected_v2_quote_raw": 228091069.501774 + }, + { + "round": 151, + "rate_bps": 500, + "extracted_this_round_raw": 5082.274911, + "cumulative_extracted_raw": 223027985.776685, + "legacy_quote_remaining_raw": 96563.223315, + "projected_v2_base_raw": 228096151.776685, + "projected_v2_quote_raw": 228096151.776685 + }, + { + "round": 152, + "rate_bps": 500, + "extracted_this_round_raw": 4828.161166, + "cumulative_extracted_raw": 223032813.937851, + "legacy_quote_remaining_raw": 91735.062149, + "projected_v2_base_raw": 228100979.937851, + "projected_v2_quote_raw": 228100979.937851 + }, + { + "round": 153, + "rate_bps": 500, + "extracted_this_round_raw": 4586.753107, + "cumulative_extracted_raw": 223037400.690958, + "legacy_quote_remaining_raw": 87148.309042, + "projected_v2_base_raw": 228105566.690958, + "projected_v2_quote_raw": 228105566.690958 + }, + { + "round": 154, + "rate_bps": 500, + "extracted_this_round_raw": 4357.415452, + "cumulative_extracted_raw": 223041758.10641, + "legacy_quote_remaining_raw": 82790.89359, + "projected_v2_base_raw": 228109924.10641, + "projected_v2_quote_raw": 228109924.10641 + }, + { + "round": 155, + "rate_bps": 500, + "extracted_this_round_raw": 4139.544679, + "cumulative_extracted_raw": 223045897.65109, + "legacy_quote_remaining_raw": 78651.34891, + "projected_v2_base_raw": 228114063.65109, + "projected_v2_quote_raw": 228114063.65109 + }, + { + "round": 156, + "rate_bps": 500, + "extracted_this_round_raw": 3932.567446, + "cumulative_extracted_raw": 223049830.218535, + "legacy_quote_remaining_raw": 74718.781465, + "projected_v2_base_raw": 228117996.218535, + "projected_v2_quote_raw": 228117996.218535 + }, + { + "round": 157, + "rate_bps": 500, + "extracted_this_round_raw": 3735.939073, + "cumulative_extracted_raw": 223053566.157608, + "legacy_quote_remaining_raw": 70982.842392, + "projected_v2_base_raw": 228121732.157608, + "projected_v2_quote_raw": 228121732.157608 + }, + { + "round": 158, + "rate_bps": 500, + "extracted_this_round_raw": 3549.14212, + "cumulative_extracted_raw": 223057115.299728, + "legacy_quote_remaining_raw": 67433.700272, + "projected_v2_base_raw": 228125281.299728, + "projected_v2_quote_raw": 228125281.299728 + }, + { + "round": 159, + "rate_bps": 500, + "extracted_this_round_raw": 3371.685014, + "cumulative_extracted_raw": 223060486.984742, + "legacy_quote_remaining_raw": 64062.015258, + "projected_v2_base_raw": 228128652.984742, + "projected_v2_quote_raw": 228128652.984742 + }, + { + "round": 160, + "rate_bps": 500, + "extracted_this_round_raw": 3203.100763, + "cumulative_extracted_raw": 223063690.085505, + "legacy_quote_remaining_raw": 60858.914495, + "projected_v2_base_raw": 228131856.085505, + "projected_v2_quote_raw": 228131856.085505 + }, + { + "round": 161, + "rate_bps": 500, + "extracted_this_round_raw": 3042.945725, + "cumulative_extracted_raw": 223066733.031229, + "legacy_quote_remaining_raw": 57815.968771, + "projected_v2_base_raw": 228134899.031229, + "projected_v2_quote_raw": 228134899.031229 + }, + { + "round": 162, + "rate_bps": 500, + "extracted_this_round_raw": 2890.798439, + "cumulative_extracted_raw": 223069623.829668, + "legacy_quote_remaining_raw": 54925.170332, + "projected_v2_base_raw": 228137789.829668, + "projected_v2_quote_raw": 228137789.829668 + }, + { + "round": 163, + "rate_bps": 500, + "extracted_this_round_raw": 2746.258517, + "cumulative_extracted_raw": 223072370.088184, + "legacy_quote_remaining_raw": 52178.911816, + "projected_v2_base_raw": 228140536.088184, + "projected_v2_quote_raw": 228140536.088184 + }, + { + "round": 164, + "rate_bps": 500, + "extracted_this_round_raw": 2608.945591, + "cumulative_extracted_raw": 223074979.033775, + "legacy_quote_remaining_raw": 49569.966225, + "projected_v2_base_raw": 228143145.033775, + "projected_v2_quote_raw": 228143145.033775 + }, + { + "round": 165, + "rate_bps": 500, + "extracted_this_round_raw": 2478.498311, + "cumulative_extracted_raw": 223077457.532086, + "legacy_quote_remaining_raw": 47091.467913, + "projected_v2_base_raw": 228145623.532086, + "projected_v2_quote_raw": 228145623.532086 + }, + { + "round": 166, + "rate_bps": 500, + "extracted_this_round_raw": 2354.573396, + "cumulative_extracted_raw": 223079812.105482, + "legacy_quote_remaining_raw": 44736.894518, + "projected_v2_base_raw": 228147978.105482, + "projected_v2_quote_raw": 228147978.105482 + }, + { + "round": 167, + "rate_bps": 500, + "extracted_this_round_raw": 2236.844726, + "cumulative_extracted_raw": 223082048.950208, + "legacy_quote_remaining_raw": 42500.049792, + "projected_v2_base_raw": 228150214.950208, + "projected_v2_quote_raw": 228150214.950208 + }, + { + "round": 168, + "rate_bps": 500, + "extracted_this_round_raw": 2125.00249, + "cumulative_extracted_raw": 223084173.952698, + "legacy_quote_remaining_raw": 40375.047302, + "projected_v2_base_raw": 228152339.952698, + "projected_v2_quote_raw": 228152339.952698 + }, + { + "round": 169, + "rate_bps": 500, + "extracted_this_round_raw": 2018.752365, + "cumulative_extracted_raw": 223086192.705063, + "legacy_quote_remaining_raw": 38356.294937, + "projected_v2_base_raw": 228154358.705063, + "projected_v2_quote_raw": 228154358.705063 + }, + { + "round": 170, + "rate_bps": 500, + "extracted_this_round_raw": 1917.814747, + "cumulative_extracted_raw": 223088110.51981, + "legacy_quote_remaining_raw": 36438.48019, + "projected_v2_base_raw": 228156276.51981, + "projected_v2_quote_raw": 228156276.51981 + }, + { + "round": 171, + "rate_bps": 500, + "extracted_this_round_raw": 1821.92401, + "cumulative_extracted_raw": 223089932.443819, + "legacy_quote_remaining_raw": 34616.556181, + "projected_v2_base_raw": 228158098.443819, + "projected_v2_quote_raw": 228158098.443819 + }, + { + "round": 172, + "rate_bps": 500, + "extracted_this_round_raw": 1730.827809, + "cumulative_extracted_raw": 223091663.271628, + "legacy_quote_remaining_raw": 32885.728372, + "projected_v2_base_raw": 228159829.271628, + "projected_v2_quote_raw": 228159829.271628 + }, + { + "round": 173, + "rate_bps": 500, + "extracted_this_round_raw": 1644.286419, + "cumulative_extracted_raw": 223093307.558047, + "legacy_quote_remaining_raw": 31241.441953, + "projected_v2_base_raw": 228161473.558047, + "projected_v2_quote_raw": 228161473.558047 + }, + { + "round": 174, + "rate_bps": 500, + "extracted_this_round_raw": 1562.072098, + "cumulative_extracted_raw": 223094869.630144, + "legacy_quote_remaining_raw": 29679.369856, + "projected_v2_base_raw": 228163035.630144, + "projected_v2_quote_raw": 228163035.630144 + }, + { + "round": 175, + "rate_bps": 500, + "extracted_this_round_raw": 1483.968493, + "cumulative_extracted_raw": 223096353.598637, + "legacy_quote_remaining_raw": 28195.401363, + "projected_v2_base_raw": 228164519.598637, + "projected_v2_quote_raw": 228164519.598637 + }, + { + "round": 176, + "rate_bps": 500, + "extracted_this_round_raw": 1409.770068, + "cumulative_extracted_raw": 223097763.368705, + "legacy_quote_remaining_raw": 26785.631295, + "projected_v2_base_raw": 228165929.368705, + "projected_v2_quote_raw": 228165929.368705 + }, + { + "round": 177, + "rate_bps": 500, + "extracted_this_round_raw": 1339.281565, + "cumulative_extracted_raw": 223099102.65027, + "legacy_quote_remaining_raw": 25446.34973, + "projected_v2_base_raw": 228167268.65027, + "projected_v2_quote_raw": 228167268.65027 + }, + { + "round": 178, + "rate_bps": 500, + "extracted_this_round_raw": 1272.317486, + "cumulative_extracted_raw": 223100374.967757, + "legacy_quote_remaining_raw": 24174.032243, + "projected_v2_base_raw": 228168540.967757, + "projected_v2_quote_raw": 228168540.967757 + }, + { + "round": 179, + "rate_bps": 500, + "extracted_this_round_raw": 1208.701612, + "cumulative_extracted_raw": 223101583.669369, + "legacy_quote_remaining_raw": 22965.330631, + "projected_v2_base_raw": 228169749.669369, + "projected_v2_quote_raw": 228169749.669369 + }, + { + "round": 180, + "rate_bps": 500, + "extracted_this_round_raw": 1148.266532, + "cumulative_extracted_raw": 223102731.9359, + "legacy_quote_remaining_raw": 21817.0641, + "projected_v2_base_raw": 228170897.9359, + "projected_v2_quote_raw": 228170897.9359 + }, + { + "round": 181, + "rate_bps": 500, + "extracted_this_round_raw": 1090.853205, + "cumulative_extracted_raw": 223103822.789105, + "legacy_quote_remaining_raw": 20726.210895, + "projected_v2_base_raw": 228171988.789105, + "projected_v2_quote_raw": 228171988.789105 + }, + { + "round": 182, + "rate_bps": 500, + "extracted_this_round_raw": 1036.310545, + "cumulative_extracted_raw": 223104859.09965, + "legacy_quote_remaining_raw": 19689.90035, + "projected_v2_base_raw": 228173025.09965, + "projected_v2_quote_raw": 228173025.09965 + }, + { + "round": 183, + "rate_bps": 500, + "extracted_this_round_raw": 984.495017, + "cumulative_extracted_raw": 223105843.594668, + "legacy_quote_remaining_raw": 18705.405332, + "projected_v2_base_raw": 228174009.594668, + "projected_v2_quote_raw": 228174009.594668 + }, + { + "round": 184, + "rate_bps": 500, + "extracted_this_round_raw": 935.270267, + "cumulative_extracted_raw": 223106778.864934, + "legacy_quote_remaining_raw": 17770.135066, + "projected_v2_base_raw": 228174944.864934, + "projected_v2_quote_raw": 228174944.864934 + }, + { + "round": 185, + "rate_bps": 500, + "extracted_this_round_raw": 888.506753, + "cumulative_extracted_raw": 223107667.371687, + "legacy_quote_remaining_raw": 16881.628313, + "projected_v2_base_raw": 228175833.371687, + "projected_v2_quote_raw": 228175833.371687 + }, + { + "round": 186, + "rate_bps": 500, + "extracted_this_round_raw": 844.081416, + "cumulative_extracted_raw": 223108511.453103, + "legacy_quote_remaining_raw": 16037.546897, + "projected_v2_base_raw": 228176677.453103, + "projected_v2_quote_raw": 228176677.453103 + }, + { + "round": 187, + "rate_bps": 500, + "extracted_this_round_raw": 801.877345, + "cumulative_extracted_raw": 223109313.330448, + "legacy_quote_remaining_raw": 15235.669552, + "projected_v2_base_raw": 228177479.330448, + "projected_v2_quote_raw": 228177479.330448 + }, + { + "round": 188, + "rate_bps": 500, + "extracted_this_round_raw": 761.783478, + "cumulative_extracted_raw": 223110075.113926, + "legacy_quote_remaining_raw": 14473.886074, + "projected_v2_base_raw": 228178241.113926, + "projected_v2_quote_raw": 228178241.113926 + }, + { + "round": 189, + "rate_bps": 500, + "extracted_this_round_raw": 723.694304, + "cumulative_extracted_raw": 223110798.808229, + "legacy_quote_remaining_raw": 13750.191771, + "projected_v2_base_raw": 228178964.808229, + "projected_v2_quote_raw": 228178964.808229 + }, + { + "round": 190, + "rate_bps": 500, + "extracted_this_round_raw": 687.509589, + "cumulative_extracted_raw": 223111486.317818, + "legacy_quote_remaining_raw": 13062.682182, + "projected_v2_base_raw": 228179652.317818, + "projected_v2_quote_raw": 228179652.317818 + }, + { + "round": 191, + "rate_bps": 500, + "extracted_this_round_raw": 653.134109, + "cumulative_extracted_raw": 223112139.451927, + "legacy_quote_remaining_raw": 12409.548073, + "projected_v2_base_raw": 228180305.451927, + "projected_v2_quote_raw": 228180305.451927 + }, + { + "round": 192, + "rate_bps": 500, + "extracted_this_round_raw": 620.477404, + "cumulative_extracted_raw": 223112759.929331, + "legacy_quote_remaining_raw": 11789.070669, + "projected_v2_base_raw": 228180925.929331, + "projected_v2_quote_raw": 228180925.929331 + }, + { + "round": 193, + "rate_bps": 500, + "extracted_this_round_raw": 589.453533, + "cumulative_extracted_raw": 223113349.382864, + "legacy_quote_remaining_raw": 11199.617136, + "projected_v2_base_raw": 228181515.382864, + "projected_v2_quote_raw": 228181515.382864 + }, + { + "round": 194, + "rate_bps": 500, + "extracted_this_round_raw": 559.980857, + "cumulative_extracted_raw": 223113909.363721, + "legacy_quote_remaining_raw": 10639.636279, + "projected_v2_base_raw": 228182075.363721, + "projected_v2_quote_raw": 228182075.363721 + }, + { + "round": 195, + "rate_bps": 500, + "extracted_this_round_raw": 531.981814, + "cumulative_extracted_raw": 223114441.345535, + "legacy_quote_remaining_raw": 10107.654465, + "projected_v2_base_raw": 228182607.345535, + "projected_v2_quote_raw": 228182607.345535 + }, + { + "round": 196, + "rate_bps": 500, + "extracted_this_round_raw": 505.382723, + "cumulative_extracted_raw": 223114946.728258, + "legacy_quote_remaining_raw": 9602.271742, + "projected_v2_base_raw": 228183112.728258, + "projected_v2_quote_raw": 228183112.728258 + }, + { + "round": 197, + "rate_bps": 500, + "extracted_this_round_raw": 480.113587, + "cumulative_extracted_raw": 223115426.841845, + "legacy_quote_remaining_raw": 9122.158155, + "projected_v2_base_raw": 228183592.841845, + "projected_v2_quote_raw": 228183592.841845 + }, + { + "round": 198, + "rate_bps": 500, + "extracted_this_round_raw": 456.107908, + "cumulative_extracted_raw": 223115882.949753, + "legacy_quote_remaining_raw": 8666.050247, + "projected_v2_base_raw": 228184048.949753, + "projected_v2_quote_raw": 228184048.949753 + }, + { + "round": 199, + "rate_bps": 500, + "extracted_this_round_raw": 433.302512, + "cumulative_extracted_raw": 223116316.252265, + "legacy_quote_remaining_raw": 8232.747735, + "projected_v2_base_raw": 228184482.252265, + "projected_v2_quote_raw": 228184482.252265 + }, + { + "round": 200, + "rate_bps": 500, + "extracted_this_round_raw": 411.637387, + "cumulative_extracted_raw": 223116727.889652, + "legacy_quote_remaining_raw": 7821.110348, + "projected_v2_base_raw": 228184893.889652, + "projected_v2_quote_raw": 228184893.889652 + }, + { + "round": 201, + "rate_bps": 500, + "extracted_this_round_raw": 391.055517, + "cumulative_extracted_raw": 223117118.945169, + "legacy_quote_remaining_raw": 7430.054831, + "projected_v2_base_raw": 228185284.945169, + "projected_v2_quote_raw": 228185284.945169 + }, + { + "round": 202, + "rate_bps": 500, + "extracted_this_round_raw": 371.502742, + "cumulative_extracted_raw": 223117490.447911, + "legacy_quote_remaining_raw": 7058.552089, + "projected_v2_base_raw": 228185656.447911, + "projected_v2_quote_raw": 228185656.447911 + }, + { + "round": 203, + "rate_bps": 500, + "extracted_this_round_raw": 352.927604, + "cumulative_extracted_raw": 223117843.375515, + "legacy_quote_remaining_raw": 6705.624485, + "projected_v2_base_raw": 228186009.375515, + "projected_v2_quote_raw": 228186009.375515 + }, + { + "round": 204, + "rate_bps": 500, + "extracted_this_round_raw": 335.281224, + "cumulative_extracted_raw": 223118178.65674, + "legacy_quote_remaining_raw": 6370.34326, + "projected_v2_base_raw": 228186344.65674, + "projected_v2_quote_raw": 228186344.65674 + }, + { + "round": 205, + "rate_bps": 500, + "extracted_this_round_raw": 318.517163, + "cumulative_extracted_raw": 223118497.173903, + "legacy_quote_remaining_raw": 6051.826097, + "projected_v2_base_raw": 228186663.173903, + "projected_v2_quote_raw": 228186663.173903 + }, + { + "round": 206, + "rate_bps": 500, + "extracted_this_round_raw": 302.591305, + "cumulative_extracted_raw": 223118799.765207, + "legacy_quote_remaining_raw": 5749.234793, + "projected_v2_base_raw": 228186965.765207, + "projected_v2_quote_raw": 228186965.765207 + }, + { + "round": 207, + "rate_bps": 500, + "extracted_this_round_raw": 287.46174, + "cumulative_extracted_raw": 223119087.226947, + "legacy_quote_remaining_raw": 5461.773053, + "projected_v2_base_raw": 228187253.226947, + "projected_v2_quote_raw": 228187253.226947 + }, + { + "round": 208, + "rate_bps": 500, + "extracted_this_round_raw": 273.088653, + "cumulative_extracted_raw": 223119360.3156, + "legacy_quote_remaining_raw": 5188.6844, + "projected_v2_base_raw": 228187526.3156, + "projected_v2_quote_raw": 228187526.3156 + }, + { + "round": 209, + "rate_bps": 500, + "extracted_this_round_raw": 259.43422, + "cumulative_extracted_raw": 223119619.74982, + "legacy_quote_remaining_raw": 4929.25018, + "projected_v2_base_raw": 228187785.74982, + "projected_v2_quote_raw": 228187785.74982 + }, + { + "round": 210, + "rate_bps": 500, + "extracted_this_round_raw": 246.462509, + "cumulative_extracted_raw": 223119866.212329, + "legacy_quote_remaining_raw": 4682.787671, + "projected_v2_base_raw": 228188032.212329, + "projected_v2_quote_raw": 228188032.212329 + }, + { + "round": 211, + "rate_bps": 500, + "extracted_this_round_raw": 234.139384, + "cumulative_extracted_raw": 223120100.351712, + "legacy_quote_remaining_raw": 4448.648288, + "projected_v2_base_raw": 228188266.351712, + "projected_v2_quote_raw": 228188266.351712 + }, + { + "round": 212, + "rate_bps": 500, + "extracted_this_round_raw": 222.432414, + "cumulative_extracted_raw": 223120322.784127, + "legacy_quote_remaining_raw": 4226.215873, + "projected_v2_base_raw": 228188488.784127, + "projected_v2_quote_raw": 228188488.784127 + }, + { + "round": 213, + "rate_bps": 500, + "extracted_this_round_raw": 211.310794, + "cumulative_extracted_raw": 223120534.09492, + "legacy_quote_remaining_raw": 4014.90508, + "projected_v2_base_raw": 228188700.09492, + "projected_v2_quote_raw": 228188700.09492 + }, + { + "round": 214, + "rate_bps": 500, + "extracted_this_round_raw": 200.745254, + "cumulative_extracted_raw": 223120734.840174, + "legacy_quote_remaining_raw": 3814.159826, + "projected_v2_base_raw": 228188900.840174, + "projected_v2_quote_raw": 228188900.840174 + }, + { + "round": 215, + "rate_bps": 500, + "extracted_this_round_raw": 190.707991, + "cumulative_extracted_raw": 223120925.548166, + "legacy_quote_remaining_raw": 3623.451834, + "projected_v2_base_raw": 228189091.548166, + "projected_v2_quote_raw": 228189091.548166 + }, + { + "round": 216, + "rate_bps": 500, + "extracted_this_round_raw": 181.172592, + "cumulative_extracted_raw": 223121106.720757, + "legacy_quote_remaining_raw": 3442.279243, + "projected_v2_base_raw": 228189272.720757, + "projected_v2_quote_raw": 228189272.720757 + }, + { + "round": 217, + "rate_bps": 500, + "extracted_this_round_raw": 172.113962, + "cumulative_extracted_raw": 223121278.83472, + "legacy_quote_remaining_raw": 3270.16528, + "projected_v2_base_raw": 228189444.83472, + "projected_v2_quote_raw": 228189444.83472 + }, + { + "round": 218, + "rate_bps": 500, + "extracted_this_round_raw": 163.508264, + "cumulative_extracted_raw": 223121442.342984, + "legacy_quote_remaining_raw": 3106.657016, + "projected_v2_base_raw": 228189608.342984, + "projected_v2_quote_raw": 228189608.342984 + }, + { + "round": 219, + "rate_bps": 500, + "extracted_this_round_raw": 155.332851, + "cumulative_extracted_raw": 223121597.675834, + "legacy_quote_remaining_raw": 2951.324166, + "projected_v2_base_raw": 228189763.675834, + "projected_v2_quote_raw": 228189763.675834 + }, + { + "round": 220, + "rate_bps": 500, + "extracted_this_round_raw": 147.566208, + "cumulative_extracted_raw": 223121745.242043, + "legacy_quote_remaining_raw": 2803.757957, + "projected_v2_base_raw": 228189911.242043, + "projected_v2_quote_raw": 228189911.242043 + }, + { + "round": 221, + "rate_bps": 500, + "extracted_this_round_raw": 140.187898, + "cumulative_extracted_raw": 223121885.42994, + "legacy_quote_remaining_raw": 2663.570059, + "projected_v2_base_raw": 228190051.42994, + "projected_v2_quote_raw": 228190051.42994 + }, + { + "round": 222, + "rate_bps": 500, + "extracted_this_round_raw": 133.178503, + "cumulative_extracted_raw": 223122018.608443, + "legacy_quote_remaining_raw": 2530.391557, + "projected_v2_base_raw": 228190184.608443, + "projected_v2_quote_raw": 228190184.608443 + }, + { + "round": 223, + "rate_bps": 500, + "extracted_this_round_raw": 126.519578, + "cumulative_extracted_raw": 223122145.128021, + "legacy_quote_remaining_raw": 2403.871979, + "projected_v2_base_raw": 228190311.128021, + "projected_v2_quote_raw": 228190311.128021 + }, + { + "round": 224, + "rate_bps": 500, + "extracted_this_round_raw": 120.193599, + "cumulative_extracted_raw": 223122265.32162, + "legacy_quote_remaining_raw": 2283.67838, + "projected_v2_base_raw": 228190431.32162, + "projected_v2_quote_raw": 228190431.32162 + }, + { + "round": 225, + "rate_bps": 500, + "extracted_this_round_raw": 114.183919, + "cumulative_extracted_raw": 223122379.505539, + "legacy_quote_remaining_raw": 2169.494461, + "projected_v2_base_raw": 228190545.505539, + "projected_v2_quote_raw": 228190545.505539 + }, + { + "round": 226, + "rate_bps": 500, + "extracted_this_round_raw": 108.474723, + "cumulative_extracted_raw": 223122487.980262, + "legacy_quote_remaining_raw": 2061.019738, + "projected_v2_base_raw": 228190653.980262, + "projected_v2_quote_raw": 228190653.980262 + }, + { + "round": 227, + "rate_bps": 500, + "extracted_this_round_raw": 103.050987, + "cumulative_extracted_raw": 223122591.031249, + "legacy_quote_remaining_raw": 1957.968751, + "projected_v2_base_raw": 228190757.031249, + "projected_v2_quote_raw": 228190757.031249 + }, + { + "round": 228, + "rate_bps": 500, + "extracted_this_round_raw": 97.898438, + "cumulative_extracted_raw": 223122688.929687, + "legacy_quote_remaining_raw": 1860.070313, + "projected_v2_base_raw": 228190854.929687, + "projected_v2_quote_raw": 228190854.929687 + }, + { + "round": 229, + "rate_bps": 500, + "extracted_this_round_raw": 93.003516, + "cumulative_extracted_raw": 223122781.933202, + "legacy_quote_remaining_raw": 1767.066798, + "projected_v2_base_raw": 228190947.933202, + "projected_v2_quote_raw": 228190947.933202 + }, + { + "round": 230, + "rate_bps": 500, + "extracted_this_round_raw": 88.35334, + "cumulative_extracted_raw": 223122870.286542, + "legacy_quote_remaining_raw": 1678.713458, + "projected_v2_base_raw": 228191036.286542, + "projected_v2_quote_raw": 228191036.286542 + }, + { + "round": 231, + "rate_bps": 500, + "extracted_this_round_raw": 83.935673, + "cumulative_extracted_raw": 223122954.222215, + "legacy_quote_remaining_raw": 1594.777785, + "projected_v2_base_raw": 228191120.222215, + "projected_v2_quote_raw": 228191120.222215 + }, + { + "round": 232, + "rate_bps": 500, + "extracted_this_round_raw": 79.738889, + "cumulative_extracted_raw": 223123033.961104, + "legacy_quote_remaining_raw": 1515.038896, + "projected_v2_base_raw": 228191199.961104, + "projected_v2_quote_raw": 228191199.961104 + }, + { + "round": 233, + "rate_bps": 500, + "extracted_this_round_raw": 75.751945, + "cumulative_extracted_raw": 223123109.713049, + "legacy_quote_remaining_raw": 1439.286951, + "projected_v2_base_raw": 228191275.713049, + "projected_v2_quote_raw": 228191275.713049 + }, + { + "round": 234, + "rate_bps": 500, + "extracted_this_round_raw": 71.964348, + "cumulative_extracted_raw": 223123181.677397, + "legacy_quote_remaining_raw": 1367.322603, + "projected_v2_base_raw": 228191347.677397, + "projected_v2_quote_raw": 228191347.677397 + }, + { + "round": 235, + "rate_bps": 500, + "extracted_this_round_raw": 68.36613, + "cumulative_extracted_raw": 223123250.043527, + "legacy_quote_remaining_raw": 1298.956473, + "projected_v2_base_raw": 228191416.043527, + "projected_v2_quote_raw": 228191416.043527 + }, + { + "round": 236, + "rate_bps": 500, + "extracted_this_round_raw": 64.947824, + "cumulative_extracted_raw": 223123314.991351, + "legacy_quote_remaining_raw": 1234.008649, + "projected_v2_base_raw": 228191480.991351, + "projected_v2_quote_raw": 228191480.991351 + }, + { + "round": 237, + "rate_bps": 500, + "extracted_this_round_raw": 61.700432, + "cumulative_extracted_raw": 223123376.691783, + "legacy_quote_remaining_raw": 1172.308217, + "projected_v2_base_raw": 228191542.691783, + "projected_v2_quote_raw": 228191542.691783 + }, + { + "round": 238, + "rate_bps": 500, + "extracted_this_round_raw": 58.615411, + "cumulative_extracted_raw": 223123435.307194, + "legacy_quote_remaining_raw": 1113.692806, + "projected_v2_base_raw": 228191601.307194, + "projected_v2_quote_raw": 228191601.307194 + }, + { + "round": 239, + "rate_bps": 500, + "extracted_this_round_raw": 55.68464, + "cumulative_extracted_raw": 223123490.991834, + "legacy_quote_remaining_raw": 1058.008166, + "projected_v2_base_raw": 228191656.991834, + "projected_v2_quote_raw": 228191656.991834 + }, + { + "round": 240, + "rate_bps": 500, + "extracted_this_round_raw": 52.900408, + "cumulative_extracted_raw": 223123543.892242, + "legacy_quote_remaining_raw": 1005.107758, + "projected_v2_base_raw": 228191709.892242, + "projected_v2_quote_raw": 228191709.892242 + }, + { + "round": 241, + "rate_bps": 500, + "extracted_this_round_raw": 50.255388, + "cumulative_extracted_raw": 223123594.14763, + "legacy_quote_remaining_raw": 954.85237, + "projected_v2_base_raw": 228191760.14763, + "projected_v2_quote_raw": 228191760.14763 + }, + { + "round": 242, + "rate_bps": 500, + "extracted_this_round_raw": 47.742618, + "cumulative_extracted_raw": 223123641.890249, + "legacy_quote_remaining_raw": 907.109751, + "projected_v2_base_raw": 228191807.890249, + "projected_v2_quote_raw": 228191807.890249 + }, + { + "round": 243, + "rate_bps": 500, + "extracted_this_round_raw": 45.355488, + "cumulative_extracted_raw": 223123687.245736, + "legacy_quote_remaining_raw": 861.754264, + "projected_v2_base_raw": 228191853.245736, + "projected_v2_quote_raw": 228191853.245736 + }, + { + "round": 244, + "rate_bps": 500, + "extracted_this_round_raw": 43.087713, + "cumulative_extracted_raw": 223123730.33345, + "legacy_quote_remaining_raw": 818.66655, + "projected_v2_base_raw": 228191896.33345, + "projected_v2_quote_raw": 228191896.33345 + }, + { + "round": 245, + "rate_bps": 500, + "extracted_this_round_raw": 40.933328, + "cumulative_extracted_raw": 223123771.266777, + "legacy_quote_remaining_raw": 777.733223, + "projected_v2_base_raw": 228191937.266777, + "projected_v2_quote_raw": 228191937.266777 + }, + { + "round": 246, + "rate_bps": 500, + "extracted_this_round_raw": 38.886661, + "cumulative_extracted_raw": 223123810.153438, + "legacy_quote_remaining_raw": 738.846562, + "projected_v2_base_raw": 228191976.153438, + "projected_v2_quote_raw": 228191976.153438 + }, + { + "round": 247, + "rate_bps": 500, + "extracted_this_round_raw": 36.942328, + "cumulative_extracted_raw": 223123847.095766, + "legacy_quote_remaining_raw": 701.904234, + "projected_v2_base_raw": 228192013.095766, + "projected_v2_quote_raw": 228192013.095766 + }, + { + "round": 248, + "rate_bps": 500, + "extracted_this_round_raw": 35.095212, + "cumulative_extracted_raw": 223123882.190978, + "legacy_quote_remaining_raw": 666.809022, + "projected_v2_base_raw": 228192048.190978, + "projected_v2_quote_raw": 228192048.190978 + }, + { + "round": 249, + "rate_bps": 500, + "extracted_this_round_raw": 33.340451, + "cumulative_extracted_raw": 223123915.531429, + "legacy_quote_remaining_raw": 633.468571, + "projected_v2_base_raw": 228192081.531429, + "projected_v2_quote_raw": 228192081.531429 + }, + { + "round": 250, + "rate_bps": 500, + "extracted_this_round_raw": 31.673429, + "cumulative_extracted_raw": 223123947.204858, + "legacy_quote_remaining_raw": 601.795142, + "projected_v2_base_raw": 228192113.204858, + "projected_v2_quote_raw": 228192113.204858 + } + ], + "1000": [ + { + "round": 1, + "rate_bps": 1000, + "extracted_this_round_raw": 22312454.9, + "cumulative_extracted_raw": 22312454.9, + "legacy_quote_remaining_raw": 200812094.1, + "projected_v2_base_raw": 27380620.9, + "projected_v2_quote_raw": 27380620.9 + }, + { + "round": 2, + "rate_bps": 1000, + "extracted_this_round_raw": 20081209.41, + "cumulative_extracted_raw": 42393664.31, + "legacy_quote_remaining_raw": 180730884.69, + "projected_v2_base_raw": 47461830.31, + "projected_v2_quote_raw": 47461830.31 + }, + { + "round": 3, + "rate_bps": 1000, + "extracted_this_round_raw": 18073088.469, + "cumulative_extracted_raw": 60466752.779, + "legacy_quote_remaining_raw": 162657796.221, + "projected_v2_base_raw": 65534918.779, + "projected_v2_quote_raw": 65534918.779 + }, + { + "round": 4, + "rate_bps": 1000, + "extracted_this_round_raw": 16265779.6221, + "cumulative_extracted_raw": 76732532.4011, + "legacy_quote_remaining_raw": 146392016.5989, + "projected_v2_base_raw": 81800698.4011, + "projected_v2_quote_raw": 81800698.4011 + }, + { + "round": 5, + "rate_bps": 1000, + "extracted_this_round_raw": 14639201.65989, + "cumulative_extracted_raw": 91371734.06099, + "legacy_quote_remaining_raw": 131752814.93901, + "projected_v2_base_raw": 96439900.06099, + "projected_v2_quote_raw": 96439900.06099 + }, + { + "round": 6, + "rate_bps": 1000, + "extracted_this_round_raw": 13175281.493901, + "cumulative_extracted_raw": 104547015.554891, + "legacy_quote_remaining_raw": 118577533.445109, + "projected_v2_base_raw": 109615181.554891, + "projected_v2_quote_raw": 109615181.554891 + }, + { + "round": 7, + "rate_bps": 1000, + "extracted_this_round_raw": 11857753.344511, + "cumulative_extracted_raw": 116404768.899402, + "legacy_quote_remaining_raw": 106719780.100598, + "projected_v2_base_raw": 121472934.899402, + "projected_v2_quote_raw": 121472934.899402 + }, + { + "round": 8, + "rate_bps": 1000, + "extracted_this_round_raw": 10671978.01006, + "cumulative_extracted_raw": 127076746.909462, + "legacy_quote_remaining_raw": 96047802.090538, + "projected_v2_base_raw": 132144912.909462, + "projected_v2_quote_raw": 132144912.909462 + }, + { + "round": 9, + "rate_bps": 1000, + "extracted_this_round_raw": 9604780.209054, + "cumulative_extracted_raw": 136681527.118516, + "legacy_quote_remaining_raw": 86443021.881484, + "projected_v2_base_raw": 141749693.118516, + "projected_v2_quote_raw": 141749693.118516 + }, + { + "round": 10, + "rate_bps": 1000, + "extracted_this_round_raw": 8644302.188148, + "cumulative_extracted_raw": 145325829.306664, + "legacy_quote_remaining_raw": 77798719.693336, + "projected_v2_base_raw": 150393995.306664, + "projected_v2_quote_raw": 150393995.306664 + }, + { + "round": 11, + "rate_bps": 1000, + "extracted_this_round_raw": 7779871.969334, + "cumulative_extracted_raw": 153105701.275998, + "legacy_quote_remaining_raw": 70018847.724002, + "projected_v2_base_raw": 158173867.275998, + "projected_v2_quote_raw": 158173867.275998 + }, + { + "round": 12, + "rate_bps": 1000, + "extracted_this_round_raw": 7001884.7724, + "cumulative_extracted_raw": 160107586.048398, + "legacy_quote_remaining_raw": 63016962.951602, + "projected_v2_base_raw": 165175752.048398, + "projected_v2_quote_raw": 165175752.048398 + }, + { + "round": 13, + "rate_bps": 1000, + "extracted_this_round_raw": 6301696.29516, + "cumulative_extracted_raw": 166409282.343558, + "legacy_quote_remaining_raw": 56715266.656442, + "projected_v2_base_raw": 171477448.343558, + "projected_v2_quote_raw": 171477448.343558 + }, + { + "round": 14, + "rate_bps": 1000, + "extracted_this_round_raw": 5671526.665644, + "cumulative_extracted_raw": 172080809.009202, + "legacy_quote_remaining_raw": 51043739.990798, + "projected_v2_base_raw": 177148975.009202, + "projected_v2_quote_raw": 177148975.009202 + }, + { + "round": 15, + "rate_bps": 1000, + "extracted_this_round_raw": 5104373.99908, + "cumulative_extracted_raw": 177185183.008282, + "legacy_quote_remaining_raw": 45939365.991718, + "projected_v2_base_raw": 182253349.008282, + "projected_v2_quote_raw": 182253349.008282 + }, + { + "round": 16, + "rate_bps": 1000, + "extracted_this_round_raw": 4593936.599172, + "cumulative_extracted_raw": 181779119.607454, + "legacy_quote_remaining_raw": 41345429.392546, + "projected_v2_base_raw": 186847285.607454, + "projected_v2_quote_raw": 186847285.607454 + }, + { + "round": 17, + "rate_bps": 1000, + "extracted_this_round_raw": 4134542.939255, + "cumulative_extracted_raw": 185913662.546708, + "legacy_quote_remaining_raw": 37210886.453292, + "projected_v2_base_raw": 190981828.546708, + "projected_v2_quote_raw": 190981828.546708 + }, + { + "round": 18, + "rate_bps": 1000, + "extracted_this_round_raw": 3721088.645329, + "cumulative_extracted_raw": 189634751.192038, + "legacy_quote_remaining_raw": 33489797.807962, + "projected_v2_base_raw": 194702917.192038, + "projected_v2_quote_raw": 194702917.192038 + }, + { + "round": 19, + "rate_bps": 1000, + "extracted_this_round_raw": 3348979.780796, + "cumulative_extracted_raw": 192983730.972834, + "legacy_quote_remaining_raw": 30140818.027166, + "projected_v2_base_raw": 198051896.972834, + "projected_v2_quote_raw": 198051896.972834 + }, + { + "round": 20, + "rate_bps": 1000, + "extracted_this_round_raw": 3014081.802717, + "cumulative_extracted_raw": 195997812.77555, + "legacy_quote_remaining_raw": 27126736.22445, + "projected_v2_base_raw": 201065978.77555, + "projected_v2_quote_raw": 201065978.77555 + }, + { + "round": 21, + "rate_bps": 1000, + "extracted_this_round_raw": 2712673.622445, + "cumulative_extracted_raw": 198710486.397995, + "legacy_quote_remaining_raw": 24414062.602005, + "projected_v2_base_raw": 203778652.397995, + "projected_v2_quote_raw": 203778652.397995 + }, + { + "round": 22, + "rate_bps": 1000, + "extracted_this_round_raw": 2441406.2602, + "cumulative_extracted_raw": 201151892.658196, + "legacy_quote_remaining_raw": 21972656.341804, + "projected_v2_base_raw": 206220058.658196, + "projected_v2_quote_raw": 206220058.658196 + }, + { + "round": 23, + "rate_bps": 1000, + "extracted_this_round_raw": 2197265.63418, + "cumulative_extracted_raw": 203349158.292376, + "legacy_quote_remaining_raw": 19775390.707624, + "projected_v2_base_raw": 208417324.292376, + "projected_v2_quote_raw": 208417324.292376 + }, + { + "round": 24, + "rate_bps": 1000, + "extracted_this_round_raw": 1977539.070762, + "cumulative_extracted_raw": 205326697.363139, + "legacy_quote_remaining_raw": 17797851.636861, + "projected_v2_base_raw": 210394863.363139, + "projected_v2_quote_raw": 210394863.363139 + }, + { + "round": 25, + "rate_bps": 1000, + "extracted_this_round_raw": 1779785.163686, + "cumulative_extracted_raw": 207106482.526825, + "legacy_quote_remaining_raw": 16018066.473175, + "projected_v2_base_raw": 212174648.526825, + "projected_v2_quote_raw": 212174648.526825 + }, + { + "round": 26, + "rate_bps": 1000, + "extracted_this_round_raw": 1601806.647318, + "cumulative_extracted_raw": 208708289.174142, + "legacy_quote_remaining_raw": 14416259.825858, + "projected_v2_base_raw": 213776455.174142, + "projected_v2_quote_raw": 213776455.174142 + }, + { + "round": 27, + "rate_bps": 1000, + "extracted_this_round_raw": 1441625.982586, + "cumulative_extracted_raw": 210149915.156728, + "legacy_quote_remaining_raw": 12974633.843272, + "projected_v2_base_raw": 215218081.156728, + "projected_v2_quote_raw": 215218081.156728 + }, + { + "round": 28, + "rate_bps": 1000, + "extracted_this_round_raw": 1297463.384327, + "cumulative_extracted_raw": 211447378.541055, + "legacy_quote_remaining_raw": 11677170.458945, + "projected_v2_base_raw": 216515544.541055, + "projected_v2_quote_raw": 216515544.541055 + }, + { + "round": 29, + "rate_bps": 1000, + "extracted_this_round_raw": 1167717.045894, + "cumulative_extracted_raw": 212615095.58695, + "legacy_quote_remaining_raw": 10509453.41305, + "projected_v2_base_raw": 217683261.58695, + "projected_v2_quote_raw": 217683261.58695 + }, + { + "round": 30, + "rate_bps": 1000, + "extracted_this_round_raw": 1050945.341305, + "cumulative_extracted_raw": 213666040.928255, + "legacy_quote_remaining_raw": 9458508.071745, + "projected_v2_base_raw": 218734206.928255, + "projected_v2_quote_raw": 218734206.928255 + }, + { + "round": 31, + "rate_bps": 1000, + "extracted_this_round_raw": 945850.807175, + "cumulative_extracted_raw": 214611891.735429, + "legacy_quote_remaining_raw": 8512657.264571, + "projected_v2_base_raw": 219680057.735429, + "projected_v2_quote_raw": 219680057.735429 + }, + { + "round": 32, + "rate_bps": 1000, + "extracted_this_round_raw": 851265.726457, + "cumulative_extracted_raw": 215463157.461886, + "legacy_quote_remaining_raw": 7661391.538114, + "projected_v2_base_raw": 220531323.461886, + "projected_v2_quote_raw": 220531323.461886 + }, + { + "round": 33, + "rate_bps": 1000, + "extracted_this_round_raw": 766139.153811, + "cumulative_extracted_raw": 216229296.615698, + "legacy_quote_remaining_raw": 6895252.384302, + "projected_v2_base_raw": 221297462.615698, + "projected_v2_quote_raw": 221297462.615698 + }, + { + "round": 34, + "rate_bps": 1000, + "extracted_this_round_raw": 689525.23843, + "cumulative_extracted_raw": 216918821.854128, + "legacy_quote_remaining_raw": 6205727.145872, + "projected_v2_base_raw": 221986987.854128, + "projected_v2_quote_raw": 221986987.854128 + }, + { + "round": 35, + "rate_bps": 1000, + "extracted_this_round_raw": 620572.714587, + "cumulative_extracted_raw": 217539394.568715, + "legacy_quote_remaining_raw": 5585154.431285, + "projected_v2_base_raw": 222607560.568715, + "projected_v2_quote_raw": 222607560.568715 + }, + { + "round": 36, + "rate_bps": 1000, + "extracted_this_round_raw": 558515.443128, + "cumulative_extracted_raw": 218097910.011844, + "legacy_quote_remaining_raw": 5026638.988156, + "projected_v2_base_raw": 223166076.011844, + "projected_v2_quote_raw": 223166076.011844 + }, + { + "round": 37, + "rate_bps": 1000, + "extracted_this_round_raw": 502663.898816, + "cumulative_extracted_raw": 218600573.910659, + "legacy_quote_remaining_raw": 4523975.089341, + "projected_v2_base_raw": 223668739.910659, + "projected_v2_quote_raw": 223668739.910659 + }, + { + "round": 38, + "rate_bps": 1000, + "extracted_this_round_raw": 452397.508934, + "cumulative_extracted_raw": 219052971.419593, + "legacy_quote_remaining_raw": 4071577.580407, + "projected_v2_base_raw": 224121137.419593, + "projected_v2_quote_raw": 224121137.419593 + }, + { + "round": 39, + "rate_bps": 1000, + "extracted_this_round_raw": 407157.758041, + "cumulative_extracted_raw": 219460129.177634, + "legacy_quote_remaining_raw": 3664419.822366, + "projected_v2_base_raw": 224528295.177634, + "projected_v2_quote_raw": 224528295.177634 + }, + { + "round": 40, + "rate_bps": 1000, + "extracted_this_round_raw": 366441.982237, + "cumulative_extracted_raw": 219826571.159871, + "legacy_quote_remaining_raw": 3297977.840129, + "projected_v2_base_raw": 224894737.159871, + "projected_v2_quote_raw": 224894737.159871 + }, + { + "round": 41, + "rate_bps": 1000, + "extracted_this_round_raw": 329797.784013, + "cumulative_extracted_raw": 220156368.943884, + "legacy_quote_remaining_raw": 2968180.056116, + "projected_v2_base_raw": 225224534.943884, + "projected_v2_quote_raw": 225224534.943884 + }, + { + "round": 42, + "rate_bps": 1000, + "extracted_this_round_raw": 296818.005612, + "cumulative_extracted_raw": 220453186.949495, + "legacy_quote_remaining_raw": 2671362.050505, + "projected_v2_base_raw": 225521352.949495, + "projected_v2_quote_raw": 225521352.949495 + }, + { + "round": 43, + "rate_bps": 1000, + "extracted_this_round_raw": 267136.20505, + "cumulative_extracted_raw": 220720323.154546, + "legacy_quote_remaining_raw": 2404225.845454, + "projected_v2_base_raw": 225788489.154546, + "projected_v2_quote_raw": 225788489.154546 + }, + { + "round": 44, + "rate_bps": 1000, + "extracted_this_round_raw": 240422.584545, + "cumulative_extracted_raw": 220960745.739091, + "legacy_quote_remaining_raw": 2163803.260909, + "projected_v2_base_raw": 226028911.739091, + "projected_v2_quote_raw": 226028911.739091 + }, + { + "round": 45, + "rate_bps": 1000, + "extracted_this_round_raw": 216380.326091, + "cumulative_extracted_raw": 221177126.065182, + "legacy_quote_remaining_raw": 1947422.934818, + "projected_v2_base_raw": 226245292.065182, + "projected_v2_quote_raw": 226245292.065182 + }, + { + "round": 46, + "rate_bps": 1000, + "extracted_this_round_raw": 194742.293482, + "cumulative_extracted_raw": 221371868.358664, + "legacy_quote_remaining_raw": 1752680.641336, + "projected_v2_base_raw": 226440034.358664, + "projected_v2_quote_raw": 226440034.358664 + }, + { + "round": 47, + "rate_bps": 1000, + "extracted_this_round_raw": 175268.064134, + "cumulative_extracted_raw": 221547136.422797, + "legacy_quote_remaining_raw": 1577412.577203, + "projected_v2_base_raw": 226615302.422797, + "projected_v2_quote_raw": 226615302.422797 + }, + { + "round": 48, + "rate_bps": 1000, + "extracted_this_round_raw": 157741.25772, + "cumulative_extracted_raw": 221704877.680518, + "legacy_quote_remaining_raw": 1419671.319482, + "projected_v2_base_raw": 226773043.680518, + "projected_v2_quote_raw": 226773043.680518 + }, + { + "round": 49, + "rate_bps": 1000, + "extracted_this_round_raw": 141967.131948, + "cumulative_extracted_raw": 221846844.812466, + "legacy_quote_remaining_raw": 1277704.187534, + "projected_v2_base_raw": 226915010.812466, + "projected_v2_quote_raw": 226915010.812466 + }, + { + "round": 50, + "rate_bps": 1000, + "extracted_this_round_raw": 127770.418753, + "cumulative_extracted_raw": 221974615.231219, + "legacy_quote_remaining_raw": 1149933.768781, + "projected_v2_base_raw": 227042781.231219, + "projected_v2_quote_raw": 227042781.231219 + }, + { + "round": 51, + "rate_bps": 1000, + "extracted_this_round_raw": 114993.376878, + "cumulative_extracted_raw": 222089608.608097, + "legacy_quote_remaining_raw": 1034940.391903, + "projected_v2_base_raw": 227157774.608097, + "projected_v2_quote_raw": 227157774.608097 + }, + { + "round": 52, + "rate_bps": 1000, + "extracted_this_round_raw": 103494.03919, + "cumulative_extracted_raw": 222193102.647288, + "legacy_quote_remaining_raw": 931446.352712, + "projected_v2_base_raw": 227261268.647288, + "projected_v2_quote_raw": 227261268.647288 + }, + { + "round": 53, + "rate_bps": 1000, + "extracted_this_round_raw": 93144.635271, + "cumulative_extracted_raw": 222286247.282559, + "legacy_quote_remaining_raw": 838301.717441, + "projected_v2_base_raw": 227354413.282559, + "projected_v2_quote_raw": 227354413.282559 + }, + { + "round": 54, + "rate_bps": 1000, + "extracted_this_round_raw": 83830.171744, + "cumulative_extracted_raw": 222370077.454303, + "legacy_quote_remaining_raw": 754471.545697, + "projected_v2_base_raw": 227438243.454303, + "projected_v2_quote_raw": 227438243.454303 + }, + { + "round": 55, + "rate_bps": 1000, + "extracted_this_round_raw": 75447.15457, + "cumulative_extracted_raw": 222445524.608873, + "legacy_quote_remaining_raw": 679024.391127, + "projected_v2_base_raw": 227513690.608873, + "projected_v2_quote_raw": 227513690.608873 + }, + { + "round": 56, + "rate_bps": 1000, + "extracted_this_round_raw": 67902.439113, + "cumulative_extracted_raw": 222513427.047985, + "legacy_quote_remaining_raw": 611121.952015, + "projected_v2_base_raw": 227581593.047985, + "projected_v2_quote_raw": 227581593.047985 + }, + { + "round": 57, + "rate_bps": 1000, + "extracted_this_round_raw": 61112.195201, + "cumulative_extracted_raw": 222574539.243187, + "legacy_quote_remaining_raw": 550009.756813, + "projected_v2_base_raw": 227642705.243187, + "projected_v2_quote_raw": 227642705.243187 + }, + { + "round": 58, + "rate_bps": 1000, + "extracted_this_round_raw": 55000.975681, + "cumulative_extracted_raw": 222629540.218868, + "legacy_quote_remaining_raw": 495008.781132, + "projected_v2_base_raw": 227697706.218868, + "projected_v2_quote_raw": 227697706.218868 + }, + { + "round": 59, + "rate_bps": 1000, + "extracted_this_round_raw": 49500.878113, + "cumulative_extracted_raw": 222679041.096981, + "legacy_quote_remaining_raw": 445507.903019, + "projected_v2_base_raw": 227747207.096981, + "projected_v2_quote_raw": 227747207.096981 + }, + { + "round": 60, + "rate_bps": 1000, + "extracted_this_round_raw": 44550.790302, + "cumulative_extracted_raw": 222723591.887283, + "legacy_quote_remaining_raw": 400957.112717, + "projected_v2_base_raw": 227791757.887283, + "projected_v2_quote_raw": 227791757.887283 + }, + { + "round": 61, + "rate_bps": 1000, + "extracted_this_round_raw": 40095.711272, + "cumulative_extracted_raw": 222763687.598555, + "legacy_quote_remaining_raw": 360861.401445, + "projected_v2_base_raw": 227831853.598555, + "projected_v2_quote_raw": 227831853.598555 + }, + { + "round": 62, + "rate_bps": 1000, + "extracted_this_round_raw": 36086.140145, + "cumulative_extracted_raw": 222799773.738699, + "legacy_quote_remaining_raw": 324775.261301, + "projected_v2_base_raw": 227867939.738699, + "projected_v2_quote_raw": 227867939.738699 + }, + { + "round": 63, + "rate_bps": 1000, + "extracted_this_round_raw": 32477.52613, + "cumulative_extracted_raw": 222832251.264829, + "legacy_quote_remaining_raw": 292297.735171, + "projected_v2_base_raw": 227900417.264829, + "projected_v2_quote_raw": 227900417.264829 + }, + { + "round": 64, + "rate_bps": 1000, + "extracted_this_round_raw": 29229.773517, + "cumulative_extracted_raw": 222861481.038347, + "legacy_quote_remaining_raw": 263067.961653, + "projected_v2_base_raw": 227929647.038347, + "projected_v2_quote_raw": 227929647.038347 + }, + { + "round": 65, + "rate_bps": 1000, + "extracted_this_round_raw": 26306.796165, + "cumulative_extracted_raw": 222887787.834512, + "legacy_quote_remaining_raw": 236761.165488, + "projected_v2_base_raw": 227955953.834512, + "projected_v2_quote_raw": 227955953.834512 + }, + { + "round": 66, + "rate_bps": 1000, + "extracted_this_round_raw": 23676.116549, + "cumulative_extracted_raw": 222911463.951061, + "legacy_quote_remaining_raw": 213085.048939, + "projected_v2_base_raw": 227979629.951061, + "projected_v2_quote_raw": 227979629.951061 + }, + { + "round": 67, + "rate_bps": 1000, + "extracted_this_round_raw": 21308.504894, + "cumulative_extracted_raw": 222932772.455955, + "legacy_quote_remaining_raw": 191776.544045, + "projected_v2_base_raw": 228000938.455955, + "projected_v2_quote_raw": 228000938.455955 + }, + { + "round": 68, + "rate_bps": 1000, + "extracted_this_round_raw": 19177.654405, + "cumulative_extracted_raw": 222951950.110359, + "legacy_quote_remaining_raw": 172598.889641, + "projected_v2_base_raw": 228020116.110359, + "projected_v2_quote_raw": 228020116.110359 + }, + { + "round": 69, + "rate_bps": 1000, + "extracted_this_round_raw": 17259.888964, + "cumulative_extracted_raw": 222969209.999323, + "legacy_quote_remaining_raw": 155339.000677, + "projected_v2_base_raw": 228037375.999323, + "projected_v2_quote_raw": 228037375.999323 + }, + { + "round": 70, + "rate_bps": 1000, + "extracted_this_round_raw": 15533.900068, + "cumulative_extracted_raw": 222984743.899391, + "legacy_quote_remaining_raw": 139805.100609, + "projected_v2_base_raw": 228052909.899391, + "projected_v2_quote_raw": 228052909.899391 + }, + { + "round": 71, + "rate_bps": 1000, + "extracted_this_round_raw": 13980.510061, + "cumulative_extracted_raw": 222998724.409452, + "legacy_quote_remaining_raw": 125824.590548, + "projected_v2_base_raw": 228066890.409452, + "projected_v2_quote_raw": 228066890.409452 + }, + { + "round": 72, + "rate_bps": 1000, + "extracted_this_round_raw": 12582.459055, + "cumulative_extracted_raw": 223011306.868507, + "legacy_quote_remaining_raw": 113242.131493, + "projected_v2_base_raw": 228079472.868507, + "projected_v2_quote_raw": 228079472.868507 + }, + { + "round": 73, + "rate_bps": 1000, + "extracted_this_round_raw": 11324.213149, + "cumulative_extracted_raw": 223022631.081656, + "legacy_quote_remaining_raw": 101917.918344, + "projected_v2_base_raw": 228090797.081656, + "projected_v2_quote_raw": 228090797.081656 + }, + { + "round": 74, + "rate_bps": 1000, + "extracted_this_round_raw": 10191.791834, + "cumulative_extracted_raw": 223032822.87349, + "legacy_quote_remaining_raw": 91726.12651, + "projected_v2_base_raw": 228100988.87349, + "projected_v2_quote_raw": 228100988.87349 + }, + { + "round": 75, + "rate_bps": 1000, + "extracted_this_round_raw": 9172.612651, + "cumulative_extracted_raw": 223041995.486141, + "legacy_quote_remaining_raw": 82553.513859, + "projected_v2_base_raw": 228110161.486141, + "projected_v2_quote_raw": 228110161.486141 + }, + { + "round": 76, + "rate_bps": 1000, + "extracted_this_round_raw": 8255.351386, + "cumulative_extracted_raw": 223050250.837527, + "legacy_quote_remaining_raw": 74298.162473, + "projected_v2_base_raw": 228118416.837527, + "projected_v2_quote_raw": 228118416.837527 + }, + { + "round": 77, + "rate_bps": 1000, + "extracted_this_round_raw": 7429.816247, + "cumulative_extracted_raw": 223057680.653774, + "legacy_quote_remaining_raw": 66868.346226, + "projected_v2_base_raw": 228125846.653774, + "projected_v2_quote_raw": 228125846.653774 + }, + { + "round": 78, + "rate_bps": 1000, + "extracted_this_round_raw": 6686.834623, + "cumulative_extracted_raw": 223064367.488397, + "legacy_quote_remaining_raw": 60181.511603, + "projected_v2_base_raw": 228132533.488397, + "projected_v2_quote_raw": 228132533.488397 + }, + { + "round": 79, + "rate_bps": 1000, + "extracted_this_round_raw": 6018.15116, + "cumulative_extracted_raw": 223070385.639557, + "legacy_quote_remaining_raw": 54163.360443, + "projected_v2_base_raw": 228138551.639557, + "projected_v2_quote_raw": 228138551.639557 + }, + { + "round": 80, + "rate_bps": 1000, + "extracted_this_round_raw": 5416.336044, + "cumulative_extracted_raw": 223075801.975602, + "legacy_quote_remaining_raw": 48747.024398, + "projected_v2_base_raw": 228143967.975602, + "projected_v2_quote_raw": 228143967.975602 + }, + { + "round": 81, + "rate_bps": 1000, + "extracted_this_round_raw": 4874.70244, + "cumulative_extracted_raw": 223080676.678041, + "legacy_quote_remaining_raw": 43872.321959, + "projected_v2_base_raw": 228148842.678041, + "projected_v2_quote_raw": 228148842.678041 + }, + { + "round": 82, + "rate_bps": 1000, + "extracted_this_round_raw": 4387.232196, + "cumulative_extracted_raw": 223085063.910237, + "legacy_quote_remaining_raw": 39485.089763, + "projected_v2_base_raw": 228153229.910237, + "projected_v2_quote_raw": 228153229.910237 + }, + { + "round": 83, + "rate_bps": 1000, + "extracted_this_round_raw": 3948.508976, + "cumulative_extracted_raw": 223089012.419214, + "legacy_quote_remaining_raw": 35536.580786, + "projected_v2_base_raw": 228157178.419214, + "projected_v2_quote_raw": 228157178.419214 + }, + { + "round": 84, + "rate_bps": 1000, + "extracted_this_round_raw": 3553.658079, + "cumulative_extracted_raw": 223092566.077292, + "legacy_quote_remaining_raw": 31982.922708, + "projected_v2_base_raw": 228160732.077292, + "projected_v2_quote_raw": 228160732.077292 + }, + { + "round": 85, + "rate_bps": 1000, + "extracted_this_round_raw": 3198.292271, + "cumulative_extracted_raw": 223095764.369563, + "legacy_quote_remaining_raw": 28784.630437, + "projected_v2_base_raw": 228163930.369563, + "projected_v2_quote_raw": 228163930.369563 + }, + { + "round": 86, + "rate_bps": 1000, + "extracted_this_round_raw": 2878.463044, + "cumulative_extracted_raw": 223098642.832607, + "legacy_quote_remaining_raw": 25906.167393, + "projected_v2_base_raw": 228166808.832607, + "projected_v2_quote_raw": 228166808.832607 + }, + { + "round": 87, + "rate_bps": 1000, + "extracted_this_round_raw": 2590.616739, + "cumulative_extracted_raw": 223101233.449346, + "legacy_quote_remaining_raw": 23315.550654, + "projected_v2_base_raw": 228169399.449346, + "projected_v2_quote_raw": 228169399.449346 + }, + { + "round": 88, + "rate_bps": 1000, + "extracted_this_round_raw": 2331.555065, + "cumulative_extracted_raw": 223103565.004411, + "legacy_quote_remaining_raw": 20983.995589, + "projected_v2_base_raw": 228171731.004411, + "projected_v2_quote_raw": 228171731.004411 + }, + { + "round": 89, + "rate_bps": 1000, + "extracted_this_round_raw": 2098.399559, + "cumulative_extracted_raw": 223105663.40397, + "legacy_quote_remaining_raw": 18885.59603, + "projected_v2_base_raw": 228173829.40397, + "projected_v2_quote_raw": 228173829.40397 + }, + { + "round": 90, + "rate_bps": 1000, + "extracted_this_round_raw": 1888.559603, + "cumulative_extracted_raw": 223107551.963573, + "legacy_quote_remaining_raw": 16997.036427, + "projected_v2_base_raw": 228175717.963573, + "projected_v2_quote_raw": 228175717.963573 + }, + { + "round": 91, + "rate_bps": 1000, + "extracted_this_round_raw": 1699.703643, + "cumulative_extracted_raw": 223109251.667216, + "legacy_quote_remaining_raw": 15297.332784, + "projected_v2_base_raw": 228177417.667216, + "projected_v2_quote_raw": 228177417.667216 + }, + { + "round": 92, + "rate_bps": 1000, + "extracted_this_round_raw": 1529.733278, + "cumulative_extracted_raw": 223110781.400494, + "legacy_quote_remaining_raw": 13767.599506, + "projected_v2_base_raw": 228178947.400494, + "projected_v2_quote_raw": 228178947.400494 + }, + { + "round": 93, + "rate_bps": 1000, + "extracted_this_round_raw": 1376.759951, + "cumulative_extracted_raw": 223112158.160445, + "legacy_quote_remaining_raw": 12390.839555, + "projected_v2_base_raw": 228180324.160445, + "projected_v2_quote_raw": 228180324.160445 + }, + { + "round": 94, + "rate_bps": 1000, + "extracted_this_round_raw": 1239.083956, + "cumulative_extracted_raw": 223113397.2444, + "legacy_quote_remaining_raw": 11151.7556, + "projected_v2_base_raw": 228181563.2444, + "projected_v2_quote_raw": 228181563.2444 + }, + { + "round": 95, + "rate_bps": 1000, + "extracted_this_round_raw": 1115.17556, + "cumulative_extracted_raw": 223114512.41996, + "legacy_quote_remaining_raw": 10036.58004, + "projected_v2_base_raw": 228182678.41996, + "projected_v2_quote_raw": 228182678.41996 + }, + { + "round": 96, + "rate_bps": 1000, + "extracted_this_round_raw": 1003.658004, + "cumulative_extracted_raw": 223115516.077964, + "legacy_quote_remaining_raw": 9032.922036, + "projected_v2_base_raw": 228183682.077964, + "projected_v2_quote_raw": 228183682.077964 + }, + { + "round": 97, + "rate_bps": 1000, + "extracted_this_round_raw": 903.292204, + "cumulative_extracted_raw": 223116419.370168, + "legacy_quote_remaining_raw": 8129.629832, + "projected_v2_base_raw": 228184585.370168, + "projected_v2_quote_raw": 228184585.370168 + }, + { + "round": 98, + "rate_bps": 1000, + "extracted_this_round_raw": 812.962983, + "cumulative_extracted_raw": 223117232.333151, + "legacy_quote_remaining_raw": 7316.666849, + "projected_v2_base_raw": 228185398.333151, + "projected_v2_quote_raw": 228185398.333151 + }, + { + "round": 99, + "rate_bps": 1000, + "extracted_this_round_raw": 731.666685, + "cumulative_extracted_raw": 223117963.999836, + "legacy_quote_remaining_raw": 6585.000164, + "projected_v2_base_raw": 228186129.999836, + "projected_v2_quote_raw": 228186129.999836 + }, + { + "round": 100, + "rate_bps": 1000, + "extracted_this_round_raw": 658.500016, + "cumulative_extracted_raw": 223118622.499852, + "legacy_quote_remaining_raw": 5926.500148, + "projected_v2_base_raw": 228186788.499852, + "projected_v2_quote_raw": 228186788.499852 + }, + { + "round": 101, + "rate_bps": 1000, + "extracted_this_round_raw": 592.650015, + "cumulative_extracted_raw": 223119215.149867, + "legacy_quote_remaining_raw": 5333.850133, + "projected_v2_base_raw": 228187381.149867, + "projected_v2_quote_raw": 228187381.149867 + }, + { + "round": 102, + "rate_bps": 1000, + "extracted_this_round_raw": 533.385013, + "cumulative_extracted_raw": 223119748.53488, + "legacy_quote_remaining_raw": 4800.46512, + "projected_v2_base_raw": 228187914.53488, + "projected_v2_quote_raw": 228187914.53488 + }, + { + "round": 103, + "rate_bps": 1000, + "extracted_this_round_raw": 480.046512, + "cumulative_extracted_raw": 223120228.581392, + "legacy_quote_remaining_raw": 4320.418608, + "projected_v2_base_raw": 228188394.581392, + "projected_v2_quote_raw": 228188394.581392 + }, + { + "round": 104, + "rate_bps": 1000, + "extracted_this_round_raw": 432.041861, + "cumulative_extracted_raw": 223120660.623253, + "legacy_quote_remaining_raw": 3888.376747, + "projected_v2_base_raw": 228188826.623253, + "projected_v2_quote_raw": 228188826.623253 + }, + { + "round": 105, + "rate_bps": 1000, + "extracted_this_round_raw": 388.837675, + "cumulative_extracted_raw": 223121049.460928, + "legacy_quote_remaining_raw": 3499.539072, + "projected_v2_base_raw": 228189215.460928, + "projected_v2_quote_raw": 228189215.460928 + }, + { + "round": 106, + "rate_bps": 1000, + "extracted_this_round_raw": 349.953907, + "cumulative_extracted_raw": 223121399.414835, + "legacy_quote_remaining_raw": 3149.585165, + "projected_v2_base_raw": 228189565.414835, + "projected_v2_quote_raw": 228189565.414835 + }, + { + "round": 107, + "rate_bps": 1000, + "extracted_this_round_raw": 314.958516, + "cumulative_extracted_raw": 223121714.373352, + "legacy_quote_remaining_raw": 2834.626648, + "projected_v2_base_raw": 228189880.373352, + "projected_v2_quote_raw": 228189880.373352 + }, + { + "round": 108, + "rate_bps": 1000, + "extracted_this_round_raw": 283.462665, + "cumulative_extracted_raw": 223121997.836016, + "legacy_quote_remaining_raw": 2551.163984, + "projected_v2_base_raw": 228190163.836016, + "projected_v2_quote_raw": 228190163.836016 + }, + { + "round": 109, + "rate_bps": 1000, + "extracted_this_round_raw": 255.116398, + "cumulative_extracted_raw": 223122252.952415, + "legacy_quote_remaining_raw": 2296.047585, + "projected_v2_base_raw": 228190418.952415, + "projected_v2_quote_raw": 228190418.952415 + }, + { + "round": 110, + "rate_bps": 1000, + "extracted_this_round_raw": 229.604759, + "cumulative_extracted_raw": 223122482.557173, + "legacy_quote_remaining_raw": 2066.442827, + "projected_v2_base_raw": 228190648.557173, + "projected_v2_quote_raw": 228190648.557173 + }, + { + "round": 111, + "rate_bps": 1000, + "extracted_this_round_raw": 206.644283, + "cumulative_extracted_raw": 223122689.201456, + "legacy_quote_remaining_raw": 1859.798544, + "projected_v2_base_raw": 228190855.201456, + "projected_v2_quote_raw": 228190855.201456 + }, + { + "round": 112, + "rate_bps": 1000, + "extracted_this_round_raw": 185.979854, + "cumulative_extracted_raw": 223122875.18131, + "legacy_quote_remaining_raw": 1673.81869, + "projected_v2_base_raw": 228191041.18131, + "projected_v2_quote_raw": 228191041.18131 + }, + { + "round": 113, + "rate_bps": 1000, + "extracted_this_round_raw": 167.381869, + "cumulative_extracted_raw": 223123042.563179, + "legacy_quote_remaining_raw": 1506.436821, + "projected_v2_base_raw": 228191208.563179, + "projected_v2_quote_raw": 228191208.563179 + }, + { + "round": 114, + "rate_bps": 1000, + "extracted_this_round_raw": 150.643682, + "cumulative_extracted_raw": 223123193.206861, + "legacy_quote_remaining_raw": 1355.793139, + "projected_v2_base_raw": 228191359.206861, + "projected_v2_quote_raw": 228191359.206861 + }, + { + "round": 115, + "rate_bps": 1000, + "extracted_this_round_raw": 135.579314, + "cumulative_extracted_raw": 223123328.786175, + "legacy_quote_remaining_raw": 1220.213825, + "projected_v2_base_raw": 228191494.786175, + "projected_v2_quote_raw": 228191494.786175 + }, + { + "round": 116, + "rate_bps": 1000, + "extracted_this_round_raw": 122.021382, + "cumulative_extracted_raw": 223123450.807558, + "legacy_quote_remaining_raw": 1098.192442, + "projected_v2_base_raw": 228191616.807558, + "projected_v2_quote_raw": 228191616.807558 + }, + { + "round": 117, + "rate_bps": 1000, + "extracted_this_round_raw": 109.819244, + "cumulative_extracted_raw": 223123560.626802, + "legacy_quote_remaining_raw": 988.373198, + "projected_v2_base_raw": 228191726.626802, + "projected_v2_quote_raw": 228191726.626802 + }, + { + "round": 118, + "rate_bps": 1000, + "extracted_this_round_raw": 98.83732, + "cumulative_extracted_raw": 223123659.464122, + "legacy_quote_remaining_raw": 889.535878, + "projected_v2_base_raw": 228191825.464122, + "projected_v2_quote_raw": 228191825.464122 + }, + { + "round": 119, + "rate_bps": 1000, + "extracted_this_round_raw": 88.953588, + "cumulative_extracted_raw": 223123748.41771, + "legacy_quote_remaining_raw": 800.58229, + "projected_v2_base_raw": 228191914.41771, + "projected_v2_quote_raw": 228191914.41771 + }, + { + "round": 120, + "rate_bps": 1000, + "extracted_this_round_raw": 80.058229, + "cumulative_extracted_raw": 223123828.475939, + "legacy_quote_remaining_raw": 720.524061, + "projected_v2_base_raw": 228191994.475939, + "projected_v2_quote_raw": 228191994.475939 + }, + { + "round": 121, + "rate_bps": 1000, + "extracted_this_round_raw": 72.052406, + "cumulative_extracted_raw": 223123900.528345, + "legacy_quote_remaining_raw": 648.471655, + "projected_v2_base_raw": 228192066.528345, + "projected_v2_quote_raw": 228192066.528345 + }, + { + "round": 122, + "rate_bps": 1000, + "extracted_this_round_raw": 64.847166, + "cumulative_extracted_raw": 223123965.37551, + "legacy_quote_remaining_raw": 583.62449, + "projected_v2_base_raw": 228192131.37551, + "projected_v2_quote_raw": 228192131.37551 + }, + { + "round": 123, + "rate_bps": 1000, + "extracted_this_round_raw": 58.362449, + "cumulative_extracted_raw": 223124023.737959, + "legacy_quote_remaining_raw": 525.262041, + "projected_v2_base_raw": 228192189.737959, + "projected_v2_quote_raw": 228192189.737959 + }, + { + "round": 124, + "rate_bps": 1000, + "extracted_this_round_raw": 52.526204, + "cumulative_extracted_raw": 223124076.264163, + "legacy_quote_remaining_raw": 472.735837, + "projected_v2_base_raw": 228192242.264163, + "projected_v2_quote_raw": 228192242.264163 + }, + { + "round": 125, + "rate_bps": 1000, + "extracted_this_round_raw": 47.273584, + "cumulative_extracted_raw": 223124123.537747, + "legacy_quote_remaining_raw": 425.462253, + "projected_v2_base_raw": 228192289.537747, + "projected_v2_quote_raw": 228192289.537747 + }, + { + "round": 126, + "rate_bps": 1000, + "extracted_this_round_raw": 42.546225, + "cumulative_extracted_raw": 223124166.083972, + "legacy_quote_remaining_raw": 382.916028, + "projected_v2_base_raw": 228192332.083972, + "projected_v2_quote_raw": 228192332.083972 + }, + { + "round": 127, + "rate_bps": 1000, + "extracted_this_round_raw": 38.291603, + "cumulative_extracted_raw": 223124204.375575, + "legacy_quote_remaining_raw": 344.624425, + "projected_v2_base_raw": 228192370.375575, + "projected_v2_quote_raw": 228192370.375575 + }, + { + "round": 128, + "rate_bps": 1000, + "extracted_this_round_raw": 34.462442, + "cumulative_extracted_raw": 223124238.838018, + "legacy_quote_remaining_raw": 310.161982, + "projected_v2_base_raw": 228192404.838018, + "projected_v2_quote_raw": 228192404.838018 + }, + { + "round": 129, + "rate_bps": 1000, + "extracted_this_round_raw": 31.016198, + "cumulative_extracted_raw": 223124269.854216, + "legacy_quote_remaining_raw": 279.145784, + "projected_v2_base_raw": 228192435.854216, + "projected_v2_quote_raw": 228192435.854216 + }, + { + "round": 130, + "rate_bps": 1000, + "extracted_this_round_raw": 27.914578, + "cumulative_extracted_raw": 223124297.768794, + "legacy_quote_remaining_raw": 251.231206, + "projected_v2_base_raw": 228192463.768794, + "projected_v2_quote_raw": 228192463.768794 + }, + { + "round": 131, + "rate_bps": 1000, + "extracted_this_round_raw": 25.123121, + "cumulative_extracted_raw": 223124322.891915, + "legacy_quote_remaining_raw": 226.108085, + "projected_v2_base_raw": 228192488.891915, + "projected_v2_quote_raw": 228192488.891915 + }, + { + "round": 132, + "rate_bps": 1000, + "extracted_this_round_raw": 22.610809, + "cumulative_extracted_raw": 223124345.502723, + "legacy_quote_remaining_raw": 203.497277, + "projected_v2_base_raw": 228192511.502723, + "projected_v2_quote_raw": 228192511.502723 + }, + { + "round": 133, + "rate_bps": 1000, + "extracted_this_round_raw": 20.349728, + "cumulative_extracted_raw": 223124365.852451, + "legacy_quote_remaining_raw": 183.147549, + "projected_v2_base_raw": 228192531.852451, + "projected_v2_quote_raw": 228192531.852451 + }, + { + "round": 134, + "rate_bps": 1000, + "extracted_this_round_raw": 18.314755, + "cumulative_extracted_raw": 223124384.167206, + "legacy_quote_remaining_raw": 164.832794, + "projected_v2_base_raw": 228192550.167206, + "projected_v2_quote_raw": 228192550.167206 + }, + { + "round": 135, + "rate_bps": 1000, + "extracted_this_round_raw": 16.483279, + "cumulative_extracted_raw": 223124400.650485, + "legacy_quote_remaining_raw": 148.349515, + "projected_v2_base_raw": 228192566.650485, + "projected_v2_quote_raw": 228192566.650485 + }, + { + "round": 136, + "rate_bps": 1000, + "extracted_this_round_raw": 14.834951, + "cumulative_extracted_raw": 223124415.485437, + "legacy_quote_remaining_raw": 133.514563, + "projected_v2_base_raw": 228192581.485437, + "projected_v2_quote_raw": 228192581.485437 + }, + { + "round": 137, + "rate_bps": 1000, + "extracted_this_round_raw": 13.351456, + "cumulative_extracted_raw": 223124428.836893, + "legacy_quote_remaining_raw": 120.163107, + "projected_v2_base_raw": 228192594.836893, + "projected_v2_quote_raw": 228192594.836893 + }, + { + "round": 138, + "rate_bps": 1000, + "extracted_this_round_raw": 12.016311, + "cumulative_extracted_raw": 223124440.853204, + "legacy_quote_remaining_raw": 108.146796, + "projected_v2_base_raw": 228192606.853204, + "projected_v2_quote_raw": 228192606.853204 + }, + { + "round": 139, + "rate_bps": 1000, + "extracted_this_round_raw": 10.81468, + "cumulative_extracted_raw": 223124451.667883, + "legacy_quote_remaining_raw": 97.332117, + "projected_v2_base_raw": 228192617.667883, + "projected_v2_quote_raw": 228192617.667883 + }, + { + "round": 140, + "rate_bps": 1000, + "extracted_this_round_raw": 9.733212, + "cumulative_extracted_raw": 223124461.401095, + "legacy_quote_remaining_raw": 87.598905, + "projected_v2_base_raw": 228192627.401095, + "projected_v2_quote_raw": 228192627.401095 + }, + { + "round": 141, + "rate_bps": 1000, + "extracted_this_round_raw": 8.75989, + "cumulative_extracted_raw": 223124470.160986, + "legacy_quote_remaining_raw": 78.839014, + "projected_v2_base_raw": 228192636.160986, + "projected_v2_quote_raw": 228192636.160986 + }, + { + "round": 142, + "rate_bps": 1000, + "extracted_this_round_raw": 7.883901, + "cumulative_extracted_raw": 223124478.044887, + "legacy_quote_remaining_raw": 70.955113, + "projected_v2_base_raw": 228192644.044887, + "projected_v2_quote_raw": 228192644.044887 + }, + { + "round": 143, + "rate_bps": 1000, + "extracted_this_round_raw": 7.095511, + "cumulative_extracted_raw": 223124485.140398, + "legacy_quote_remaining_raw": 63.859602, + "projected_v2_base_raw": 228192651.140398, + "projected_v2_quote_raw": 228192651.140398 + }, + { + "round": 144, + "rate_bps": 1000, + "extracted_this_round_raw": 6.38596, + "cumulative_extracted_raw": 223124491.526358, + "legacy_quote_remaining_raw": 57.473642, + "projected_v2_base_raw": 228192657.526358, + "projected_v2_quote_raw": 228192657.526358 + }, + { + "round": 145, + "rate_bps": 1000, + "extracted_this_round_raw": 5.747364, + "cumulative_extracted_raw": 223124497.273723, + "legacy_quote_remaining_raw": 51.726277, + "projected_v2_base_raw": 228192663.273723, + "projected_v2_quote_raw": 228192663.273723 + }, + { + "round": 146, + "rate_bps": 1000, + "extracted_this_round_raw": 5.172628, + "cumulative_extracted_raw": 223124502.44635, + "legacy_quote_remaining_raw": 46.55365, + "projected_v2_base_raw": 228192668.44635, + "projected_v2_quote_raw": 228192668.44635 + }, + { + "round": 147, + "rate_bps": 1000, + "extracted_this_round_raw": 4.655365, + "cumulative_extracted_raw": 223124507.101715, + "legacy_quote_remaining_raw": 41.898285, + "projected_v2_base_raw": 228192673.101715, + "projected_v2_quote_raw": 228192673.101715 + }, + { + "round": 148, + "rate_bps": 1000, + "extracted_this_round_raw": 4.189828, + "cumulative_extracted_raw": 223124511.291544, + "legacy_quote_remaining_raw": 37.708456, + "projected_v2_base_raw": 228192677.291544, + "projected_v2_quote_raw": 228192677.291544 + }, + { + "round": 149, + "rate_bps": 1000, + "extracted_this_round_raw": 3.770846, + "cumulative_extracted_raw": 223124515.062389, + "legacy_quote_remaining_raw": 33.937611, + "projected_v2_base_raw": 228192681.062389, + "projected_v2_quote_raw": 228192681.062389 + }, + { + "round": 150, + "rate_bps": 1000, + "extracted_this_round_raw": 3.393761, + "cumulative_extracted_raw": 223124518.45615, + "legacy_quote_remaining_raw": 30.54385, + "projected_v2_base_raw": 228192684.45615, + "projected_v2_quote_raw": 228192684.45615 + }, + { + "round": 151, + "rate_bps": 1000, + "extracted_this_round_raw": 3.054385, + "cumulative_extracted_raw": 223124521.510535, + "legacy_quote_remaining_raw": 27.489465, + "projected_v2_base_raw": 228192687.510535, + "projected_v2_quote_raw": 228192687.510535 + }, + { + "round": 152, + "rate_bps": 1000, + "extracted_this_round_raw": 2.748946, + "cumulative_extracted_raw": 223124524.259482, + "legacy_quote_remaining_raw": 24.740518, + "projected_v2_base_raw": 228192690.259482, + "projected_v2_quote_raw": 228192690.259482 + }, + { + "round": 153, + "rate_bps": 1000, + "extracted_this_round_raw": 2.474052, + "cumulative_extracted_raw": 223124526.733534, + "legacy_quote_remaining_raw": 22.266466, + "projected_v2_base_raw": 228192692.733534, + "projected_v2_quote_raw": 228192692.733534 + }, + { + "round": 154, + "rate_bps": 1000, + "extracted_this_round_raw": 2.226647, + "cumulative_extracted_raw": 223124528.96018, + "legacy_quote_remaining_raw": 20.03982, + "projected_v2_base_raw": 228192694.96018, + "projected_v2_quote_raw": 228192694.96018 + }, + { + "round": 155, + "rate_bps": 1000, + "extracted_this_round_raw": 2.003982, + "cumulative_extracted_raw": 223124530.964162, + "legacy_quote_remaining_raw": 18.035838, + "projected_v2_base_raw": 228192696.964162, + "projected_v2_quote_raw": 228192696.964162 + }, + { + "round": 156, + "rate_bps": 1000, + "extracted_this_round_raw": 1.803584, + "cumulative_extracted_raw": 223124532.767746, + "legacy_quote_remaining_raw": 16.232254, + "projected_v2_base_raw": 228192698.767746, + "projected_v2_quote_raw": 228192698.767746 + }, + { + "round": 157, + "rate_bps": 1000, + "extracted_this_round_raw": 1.623225, + "cumulative_extracted_raw": 223124534.390971, + "legacy_quote_remaining_raw": 14.609029, + "projected_v2_base_raw": 228192700.390971, + "projected_v2_quote_raw": 228192700.390971 + }, + { + "round": 158, + "rate_bps": 1000, + "extracted_this_round_raw": 1.460903, + "cumulative_extracted_raw": 223124535.851874, + "legacy_quote_remaining_raw": 13.148126, + "projected_v2_base_raw": 228192701.851874, + "projected_v2_quote_raw": 228192701.851874 + }, + { + "round": 159, + "rate_bps": 1000, + "extracted_this_round_raw": 1.314813, + "cumulative_extracted_raw": 223124537.166687, + "legacy_quote_remaining_raw": 11.833313, + "projected_v2_base_raw": 228192703.166687, + "projected_v2_quote_raw": 228192703.166687 + }, + { + "round": 160, + "rate_bps": 1000, + "extracted_this_round_raw": 1.183331, + "cumulative_extracted_raw": 223124538.350018, + "legacy_quote_remaining_raw": 10.649982, + "projected_v2_base_raw": 228192704.350018, + "projected_v2_quote_raw": 228192704.350018 + }, + { + "round": 161, + "rate_bps": 1000, + "extracted_this_round_raw": 1.064998, + "cumulative_extracted_raw": 223124539.415016, + "legacy_quote_remaining_raw": 9.584984, + "projected_v2_base_raw": 228192705.415016, + "projected_v2_quote_raw": 228192705.415016 + }, + { + "round": 162, + "rate_bps": 1000, + "extracted_this_round_raw": 0.958498, + "cumulative_extracted_raw": 223124540.373515, + "legacy_quote_remaining_raw": 8.626485, + "projected_v2_base_raw": 228192706.373515, + "projected_v2_quote_raw": 228192706.373515 + }, + { + "round": 163, + "rate_bps": 1000, + "extracted_this_round_raw": 0.862649, + "cumulative_extracted_raw": 223124541.236163, + "legacy_quote_remaining_raw": 7.763837, + "projected_v2_base_raw": 228192707.236163, + "projected_v2_quote_raw": 228192707.236163 + }, + { + "round": 164, + "rate_bps": 1000, + "extracted_this_round_raw": 0.776384, + "cumulative_extracted_raw": 223124542.012547, + "legacy_quote_remaining_raw": 6.987453, + "projected_v2_base_raw": 228192708.012547, + "projected_v2_quote_raw": 228192708.012547 + }, + { + "round": 165, + "rate_bps": 1000, + "extracted_this_round_raw": 0.698745, + "cumulative_extracted_raw": 223124542.711292, + "legacy_quote_remaining_raw": 6.288708, + "projected_v2_base_raw": 228192708.711292, + "projected_v2_quote_raw": 228192708.711292 + }, + { + "round": 166, + "rate_bps": 1000, + "extracted_this_round_raw": 0.628871, + "cumulative_extracted_raw": 223124543.340163, + "legacy_quote_remaining_raw": 5.659837, + "projected_v2_base_raw": 228192709.340163, + "projected_v2_quote_raw": 228192709.340163 + }, + { + "round": 167, + "rate_bps": 1000, + "extracted_this_round_raw": 0.565984, + "cumulative_extracted_raw": 223124543.906147, + "legacy_quote_remaining_raw": 5.093853, + "projected_v2_base_raw": 228192709.906147, + "projected_v2_quote_raw": 228192709.906147 + }, + { + "round": 168, + "rate_bps": 1000, + "extracted_this_round_raw": 0.509385, + "cumulative_extracted_raw": 223124544.415532, + "legacy_quote_remaining_raw": 4.584468, + "projected_v2_base_raw": 228192710.415532, + "projected_v2_quote_raw": 228192710.415532 + }, + { + "round": 169, + "rate_bps": 1000, + "extracted_this_round_raw": 0.458447, + "cumulative_extracted_raw": 223124544.873979, + "legacy_quote_remaining_raw": 4.126021, + "projected_v2_base_raw": 228192710.873979, + "projected_v2_quote_raw": 228192710.873979 + }, + { + "round": 170, + "rate_bps": 1000, + "extracted_this_round_raw": 0.412602, + "cumulative_extracted_raw": 223124545.286581, + "legacy_quote_remaining_raw": 3.713419, + "projected_v2_base_raw": 228192711.286581, + "projected_v2_quote_raw": 228192711.286581 + }, + { + "round": 171, + "rate_bps": 1000, + "extracted_this_round_raw": 0.371342, + "cumulative_extracted_raw": 223124545.657923, + "legacy_quote_remaining_raw": 3.342077, + "projected_v2_base_raw": 228192711.657923, + "projected_v2_quote_raw": 228192711.657923 + }, + { + "round": 172, + "rate_bps": 1000, + "extracted_this_round_raw": 0.334208, + "cumulative_extracted_raw": 223124545.992131, + "legacy_quote_remaining_raw": 3.007869, + "projected_v2_base_raw": 228192711.992131, + "projected_v2_quote_raw": 228192711.992131 + }, + { + "round": 173, + "rate_bps": 1000, + "extracted_this_round_raw": 0.300787, + "cumulative_extracted_raw": 223124546.292918, + "legacy_quote_remaining_raw": 2.707082, + "projected_v2_base_raw": 228192712.292918, + "projected_v2_quote_raw": 228192712.292918 + }, + { + "round": 174, + "rate_bps": 1000, + "extracted_this_round_raw": 0.270708, + "cumulative_extracted_raw": 223124546.563626, + "legacy_quote_remaining_raw": 2.436374, + "projected_v2_base_raw": 228192712.563626, + "projected_v2_quote_raw": 228192712.563626 + }, + { + "round": 175, + "rate_bps": 1000, + "extracted_this_round_raw": 0.243637, + "cumulative_extracted_raw": 223124546.807263, + "legacy_quote_remaining_raw": 2.192737, + "projected_v2_base_raw": 228192712.807263, + "projected_v2_quote_raw": 228192712.807263 + }, + { + "round": 176, + "rate_bps": 1000, + "extracted_this_round_raw": 0.219274, + "cumulative_extracted_raw": 223124547.026537, + "legacy_quote_remaining_raw": 1.973463, + "projected_v2_base_raw": 228192713.026537, + "projected_v2_quote_raw": 228192713.026537 + }, + { + "round": 177, + "rate_bps": 1000, + "extracted_this_round_raw": 0.197346, + "cumulative_extracted_raw": 223124547.223883, + "legacy_quote_remaining_raw": 1.776117, + "projected_v2_base_raw": 228192713.223883, + "projected_v2_quote_raw": 228192713.223883 + }, + { + "round": 178, + "rate_bps": 1000, + "extracted_this_round_raw": 0.177612, + "cumulative_extracted_raw": 223124547.401495, + "legacy_quote_remaining_raw": 1.598505, + "projected_v2_base_raw": 228192713.401495, + "projected_v2_quote_raw": 228192713.401495 + }, + { + "round": 179, + "rate_bps": 1000, + "extracted_this_round_raw": 0.159851, + "cumulative_extracted_raw": 223124547.561345, + "legacy_quote_remaining_raw": 1.438655, + "projected_v2_base_raw": 228192713.561345, + "projected_v2_quote_raw": 228192713.561345 + }, + { + "round": 180, + "rate_bps": 1000, + "extracted_this_round_raw": 0.143865, + "cumulative_extracted_raw": 223124547.705211, + "legacy_quote_remaining_raw": 1.294789, + "projected_v2_base_raw": 228192713.705211, + "projected_v2_quote_raw": 228192713.705211 + }, + { + "round": 181, + "rate_bps": 1000, + "extracted_this_round_raw": 0.129479, + "cumulative_extracted_raw": 223124547.83469, + "legacy_quote_remaining_raw": 1.16531, + "projected_v2_base_raw": 228192713.83469, + "projected_v2_quote_raw": 228192713.83469 + }, + { + "round": 182, + "rate_bps": 1000, + "extracted_this_round_raw": 0.116531, + "cumulative_extracted_raw": 223124547.951221, + "legacy_quote_remaining_raw": 1.048779, + "projected_v2_base_raw": 228192713.951221, + "projected_v2_quote_raw": 228192713.951221 + }, + { + "round": 183, + "rate_bps": 1000, + "extracted_this_round_raw": 0.104878, + "cumulative_extracted_raw": 223124548.056099, + "legacy_quote_remaining_raw": 0.943901, + "projected_v2_base_raw": 228192714.056099, + "projected_v2_quote_raw": 228192714.056099 + }, + { + "round": 184, + "rate_bps": 1000, + "extracted_this_round_raw": 0.09439, + "cumulative_extracted_raw": 223124548.150489, + "legacy_quote_remaining_raw": 0.849511, + "projected_v2_base_raw": 228192714.150489, + "projected_v2_quote_raw": 228192714.150489 + }, + { + "round": 185, + "rate_bps": 1000, + "extracted_this_round_raw": 0.084951, + "cumulative_extracted_raw": 223124548.23544, + "legacy_quote_remaining_raw": 0.76456, + "projected_v2_base_raw": 228192714.23544, + "projected_v2_quote_raw": 228192714.23544 + }, + { + "round": 186, + "rate_bps": 1000, + "extracted_this_round_raw": 0.076456, + "cumulative_extracted_raw": 223124548.311896, + "legacy_quote_remaining_raw": 0.688104, + "projected_v2_base_raw": 228192714.311896, + "projected_v2_quote_raw": 228192714.311896 + }, + { + "round": 187, + "rate_bps": 1000, + "extracted_this_round_raw": 0.06881, + "cumulative_extracted_raw": 223124548.380706, + "legacy_quote_remaining_raw": 0.619294, + "projected_v2_base_raw": 228192714.380706, + "projected_v2_quote_raw": 228192714.380706 + }, + { + "round": 188, + "rate_bps": 1000, + "extracted_this_round_raw": 0.061929, + "cumulative_extracted_raw": 223124548.442636, + "legacy_quote_remaining_raw": 0.557364, + "projected_v2_base_raw": 228192714.442636, + "projected_v2_quote_raw": 228192714.442636 + }, + { + "round": 189, + "rate_bps": 1000, + "extracted_this_round_raw": 0.055736, + "cumulative_extracted_raw": 223124548.498372, + "legacy_quote_remaining_raw": 0.501628, + "projected_v2_base_raw": 228192714.498372, + "projected_v2_quote_raw": 228192714.498372 + }, + { + "round": 190, + "rate_bps": 1000, + "extracted_this_round_raw": 0.050163, + "cumulative_extracted_raw": 223124548.548535, + "legacy_quote_remaining_raw": 0.451465, + "projected_v2_base_raw": 228192714.548535, + "projected_v2_quote_raw": 228192714.548535 + }, + { + "round": 191, + "rate_bps": 1000, + "extracted_this_round_raw": 0.045147, + "cumulative_extracted_raw": 223124548.593681, + "legacy_quote_remaining_raw": 0.406319, + "projected_v2_base_raw": 228192714.593681, + "projected_v2_quote_raw": 228192714.593681 + }, + { + "round": 192, + "rate_bps": 1000, + "extracted_this_round_raw": 0.040632, + "cumulative_extracted_raw": 223124548.634313, + "legacy_quote_remaining_raw": 0.365687, + "projected_v2_base_raw": 228192714.634313, + "projected_v2_quote_raw": 228192714.634313 + }, + { + "round": 193, + "rate_bps": 1000, + "extracted_this_round_raw": 0.036569, + "cumulative_extracted_raw": 223124548.670882, + "legacy_quote_remaining_raw": 0.329118, + "projected_v2_base_raw": 228192714.670882, + "projected_v2_quote_raw": 228192714.670882 + }, + { + "round": 194, + "rate_bps": 1000, + "extracted_this_round_raw": 0.032912, + "cumulative_extracted_raw": 223124548.703794, + "legacy_quote_remaining_raw": 0.296206, + "projected_v2_base_raw": 228192714.703794, + "projected_v2_quote_raw": 228192714.703794 + }, + { + "round": 195, + "rate_bps": 1000, + "extracted_this_round_raw": 0.029621, + "cumulative_extracted_raw": 223124548.733414, + "legacy_quote_remaining_raw": 0.266586, + "projected_v2_base_raw": 228192714.733414, + "projected_v2_quote_raw": 228192714.733414 + }, + { + "round": 196, + "rate_bps": 1000, + "extracted_this_round_raw": 0.026659, + "cumulative_extracted_raw": 223124548.760073, + "legacy_quote_remaining_raw": 0.239927, + "projected_v2_base_raw": 228192714.760073, + "projected_v2_quote_raw": 228192714.760073 + }, + { + "round": 197, + "rate_bps": 1000, + "extracted_this_round_raw": 0.023993, + "cumulative_extracted_raw": 223124548.784066, + "legacy_quote_remaining_raw": 0.215934, + "projected_v2_base_raw": 228192714.784066, + "projected_v2_quote_raw": 228192714.784066 + }, + { + "round": 198, + "rate_bps": 1000, + "extracted_this_round_raw": 0.021593, + "cumulative_extracted_raw": 223124548.805659, + "legacy_quote_remaining_raw": 0.194341, + "projected_v2_base_raw": 228192714.805659, + "projected_v2_quote_raw": 228192714.805659 + }, + { + "round": 199, + "rate_bps": 1000, + "extracted_this_round_raw": 0.019434, + "cumulative_extracted_raw": 223124548.825093, + "legacy_quote_remaining_raw": 0.174907, + "projected_v2_base_raw": 228192714.825093, + "projected_v2_quote_raw": 228192714.825093 + }, + { + "round": 200, + "rate_bps": 1000, + "extracted_this_round_raw": 0.017491, + "cumulative_extracted_raw": 223124548.842584, + "legacy_quote_remaining_raw": 0.157416, + "projected_v2_base_raw": 228192714.842584, + "projected_v2_quote_raw": 228192714.842584 + }, + { + "round": 201, + "rate_bps": 1000, + "extracted_this_round_raw": 0.015742, + "cumulative_extracted_raw": 223124548.858325, + "legacy_quote_remaining_raw": 0.141675, + "projected_v2_base_raw": 228192714.858325, + "projected_v2_quote_raw": 228192714.858325 + }, + { + "round": 202, + "rate_bps": 1000, + "extracted_this_round_raw": 0.014167, + "cumulative_extracted_raw": 223124548.872493, + "legacy_quote_remaining_raw": 0.127507, + "projected_v2_base_raw": 228192714.872493, + "projected_v2_quote_raw": 228192714.872493 + }, + { + "round": 203, + "rate_bps": 1000, + "extracted_this_round_raw": 0.012751, + "cumulative_extracted_raw": 223124548.885244, + "legacy_quote_remaining_raw": 0.114756, + "projected_v2_base_raw": 228192714.885244, + "projected_v2_quote_raw": 228192714.885244 + }, + { + "round": 204, + "rate_bps": 1000, + "extracted_this_round_raw": 0.011476, + "cumulative_extracted_raw": 223124548.896719, + "legacy_quote_remaining_raw": 0.103281, + "projected_v2_base_raw": 228192714.896719, + "projected_v2_quote_raw": 228192714.896719 + }, + { + "round": 205, + "rate_bps": 1000, + "extracted_this_round_raw": 0.010328, + "cumulative_extracted_raw": 223124548.907047, + "legacy_quote_remaining_raw": 0.092953, + "projected_v2_base_raw": 228192714.907047, + "projected_v2_quote_raw": 228192714.907047 + }, + { + "round": 206, + "rate_bps": 1000, + "extracted_this_round_raw": 0.009295, + "cumulative_extracted_raw": 223124548.916343, + "legacy_quote_remaining_raw": 0.083657, + "projected_v2_base_raw": 228192714.916343, + "projected_v2_quote_raw": 228192714.916343 + }, + { + "round": 207, + "rate_bps": 1000, + "extracted_this_round_raw": 0.008366, + "cumulative_extracted_raw": 223124548.924708, + "legacy_quote_remaining_raw": 0.075292, + "projected_v2_base_raw": 228192714.924708, + "projected_v2_quote_raw": 228192714.924708 + }, + { + "round": 208, + "rate_bps": 1000, + "extracted_this_round_raw": 0.007529, + "cumulative_extracted_raw": 223124548.932238, + "legacy_quote_remaining_raw": 0.067762, + "projected_v2_base_raw": 228192714.932238, + "projected_v2_quote_raw": 228192714.932238 + }, + { + "round": 209, + "rate_bps": 1000, + "extracted_this_round_raw": 0.006776, + "cumulative_extracted_raw": 223124548.939014, + "legacy_quote_remaining_raw": 0.060986, + "projected_v2_base_raw": 228192714.939014, + "projected_v2_quote_raw": 228192714.939014 + }, + { + "round": 210, + "rate_bps": 1000, + "extracted_this_round_raw": 0.006099, + "cumulative_extracted_raw": 223124548.945112, + "legacy_quote_remaining_raw": 0.054888, + "projected_v2_base_raw": 228192714.945112, + "projected_v2_quote_raw": 228192714.945112 + }, + { + "round": 211, + "rate_bps": 1000, + "extracted_this_round_raw": 0.005489, + "cumulative_extracted_raw": 223124548.950601, + "legacy_quote_remaining_raw": 0.049399, + "projected_v2_base_raw": 228192714.950601, + "projected_v2_quote_raw": 228192714.950601 + }, + { + "round": 212, + "rate_bps": 1000, + "extracted_this_round_raw": 0.00494, + "cumulative_extracted_raw": 223124548.955541, + "legacy_quote_remaining_raw": 0.044459, + "projected_v2_base_raw": 228192714.955541, + "projected_v2_quote_raw": 228192714.955541 + }, + { + "round": 213, + "rate_bps": 1000, + "extracted_this_round_raw": 0.004446, + "cumulative_extracted_raw": 223124548.959987, + "legacy_quote_remaining_raw": 0.040013, + "projected_v2_base_raw": 228192714.959987, + "projected_v2_quote_raw": 228192714.959987 + }, + { + "round": 214, + "rate_bps": 1000, + "extracted_this_round_raw": 0.004001, + "cumulative_extracted_raw": 223124548.963988, + "legacy_quote_remaining_raw": 0.036012, + "projected_v2_base_raw": 228192714.963988, + "projected_v2_quote_raw": 228192714.963988 + }, + { + "round": 215, + "rate_bps": 1000, + "extracted_this_round_raw": 0.003601, + "cumulative_extracted_raw": 223124548.967589, + "legacy_quote_remaining_raw": 0.032411, + "projected_v2_base_raw": 228192714.967589, + "projected_v2_quote_raw": 228192714.967589 + }, + { + "round": 216, + "rate_bps": 1000, + "extracted_this_round_raw": 0.003241, + "cumulative_extracted_raw": 223124548.97083, + "legacy_quote_remaining_raw": 0.02917, + "projected_v2_base_raw": 228192714.97083, + "projected_v2_quote_raw": 228192714.97083 + }, + { + "round": 217, + "rate_bps": 1000, + "extracted_this_round_raw": 0.002917, + "cumulative_extracted_raw": 223124548.973747, + "legacy_quote_remaining_raw": 0.026253, + "projected_v2_base_raw": 228192714.973747, + "projected_v2_quote_raw": 228192714.973747 + }, + { + "round": 218, + "rate_bps": 1000, + "extracted_this_round_raw": 0.002625, + "cumulative_extracted_raw": 223124548.976373, + "legacy_quote_remaining_raw": 0.023627, + "projected_v2_base_raw": 228192714.976373, + "projected_v2_quote_raw": 228192714.976373 + }, + { + "round": 219, + "rate_bps": 1000, + "extracted_this_round_raw": 0.002363, + "cumulative_extracted_raw": 223124548.978735, + "legacy_quote_remaining_raw": 0.021265, + "projected_v2_base_raw": 228192714.978735, + "projected_v2_quote_raw": 228192714.978735 + }, + { + "round": 220, + "rate_bps": 1000, + "extracted_this_round_raw": 0.002126, + "cumulative_extracted_raw": 223124548.980862, + "legacy_quote_remaining_raw": 0.019138, + "projected_v2_base_raw": 228192714.980862, + "projected_v2_quote_raw": 228192714.980862 + }, + { + "round": 221, + "rate_bps": 1000, + "extracted_this_round_raw": 0.001914, + "cumulative_extracted_raw": 223124548.982776, + "legacy_quote_remaining_raw": 0.017224, + "projected_v2_base_raw": 228192714.982776, + "projected_v2_quote_raw": 228192714.982776 + }, + { + "round": 222, + "rate_bps": 1000, + "extracted_this_round_raw": 0.001722, + "cumulative_extracted_raw": 223124548.984498, + "legacy_quote_remaining_raw": 0.015502, + "projected_v2_base_raw": 228192714.984498, + "projected_v2_quote_raw": 228192714.984498 + }, + { + "round": 223, + "rate_bps": 1000, + "extracted_this_round_raw": 0.00155, + "cumulative_extracted_raw": 223124548.986048, + "legacy_quote_remaining_raw": 0.013952, + "projected_v2_base_raw": 228192714.986048, + "projected_v2_quote_raw": 228192714.986048 + }, + { + "round": 224, + "rate_bps": 1000, + "extracted_this_round_raw": 0.001395, + "cumulative_extracted_raw": 223124548.987443, + "legacy_quote_remaining_raw": 0.012557, + "projected_v2_base_raw": 228192714.987443, + "projected_v2_quote_raw": 228192714.987443 + }, + { + "round": 225, + "rate_bps": 1000, + "extracted_this_round_raw": 0.001256, + "cumulative_extracted_raw": 223124548.988699, + "legacy_quote_remaining_raw": 0.011301, + "projected_v2_base_raw": 228192714.988699, + "projected_v2_quote_raw": 228192714.988699 + }, + { + "round": 226, + "rate_bps": 1000, + "extracted_this_round_raw": 0.00113, + "cumulative_extracted_raw": 223124548.989829, + "legacy_quote_remaining_raw": 0.010171, + "projected_v2_base_raw": 228192714.989829, + "projected_v2_quote_raw": 228192714.989829 + }, + { + "round": 227, + "rate_bps": 1000, + "extracted_this_round_raw": 0.001017, + "cumulative_extracted_raw": 223124548.990846, + "legacy_quote_remaining_raw": 0.009154, + "projected_v2_base_raw": 228192714.990846, + "projected_v2_quote_raw": 228192714.990846 + }, + { + "round": 228, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000915, + "cumulative_extracted_raw": 223124548.991762, + "legacy_quote_remaining_raw": 0.008238, + "projected_v2_base_raw": 228192714.991762, + "projected_v2_quote_raw": 228192714.991762 + }, + { + "round": 229, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000824, + "cumulative_extracted_raw": 223124548.992586, + "legacy_quote_remaining_raw": 0.007415, + "projected_v2_base_raw": 228192714.992586, + "projected_v2_quote_raw": 228192714.992586 + }, + { + "round": 230, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000741, + "cumulative_extracted_raw": 223124548.993327, + "legacy_quote_remaining_raw": 0.006673, + "projected_v2_base_raw": 228192714.993327, + "projected_v2_quote_raw": 228192714.993327 + }, + { + "round": 231, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000667, + "cumulative_extracted_raw": 223124548.993994, + "legacy_quote_remaining_raw": 0.006006, + "projected_v2_base_raw": 228192714.993994, + "projected_v2_quote_raw": 228192714.993994 + }, + { + "round": 232, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000601, + "cumulative_extracted_raw": 223124548.994595, + "legacy_quote_remaining_raw": 0.005405, + "projected_v2_base_raw": 228192714.994595, + "projected_v2_quote_raw": 228192714.994595 + }, + { + "round": 233, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000541, + "cumulative_extracted_raw": 223124548.995135, + "legacy_quote_remaining_raw": 0.004865, + "projected_v2_base_raw": 228192714.995135, + "projected_v2_quote_raw": 228192714.995135 + }, + { + "round": 234, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000486, + "cumulative_extracted_raw": 223124548.995622, + "legacy_quote_remaining_raw": 0.004378, + "projected_v2_base_raw": 228192714.995622, + "projected_v2_quote_raw": 228192714.995622 + }, + { + "round": 235, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000438, + "cumulative_extracted_raw": 223124548.99606, + "legacy_quote_remaining_raw": 0.00394, + "projected_v2_base_raw": 228192714.99606, + "projected_v2_quote_raw": 228192714.99606 + }, + { + "round": 236, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000394, + "cumulative_extracted_raw": 223124548.996454, + "legacy_quote_remaining_raw": 0.003546, + "projected_v2_base_raw": 228192714.996454, + "projected_v2_quote_raw": 228192714.996454 + }, + { + "round": 237, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000355, + "cumulative_extracted_raw": 223124548.996808, + "legacy_quote_remaining_raw": 0.003192, + "projected_v2_base_raw": 228192714.996808, + "projected_v2_quote_raw": 228192714.996808 + }, + { + "round": 238, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000319, + "cumulative_extracted_raw": 223124548.997127, + "legacy_quote_remaining_raw": 0.002873, + "projected_v2_base_raw": 228192714.997127, + "projected_v2_quote_raw": 228192714.997127 + }, + { + "round": 239, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000287, + "cumulative_extracted_raw": 223124548.997415, + "legacy_quote_remaining_raw": 0.002585, + "projected_v2_base_raw": 228192714.997415, + "projected_v2_quote_raw": 228192714.997415 + }, + { + "round": 240, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000259, + "cumulative_extracted_raw": 223124548.997673, + "legacy_quote_remaining_raw": 0.002327, + "projected_v2_base_raw": 228192714.997673, + "projected_v2_quote_raw": 228192714.997673 + }, + { + "round": 241, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000233, + "cumulative_extracted_raw": 223124548.997906, + "legacy_quote_remaining_raw": 0.002094, + "projected_v2_base_raw": 228192714.997906, + "projected_v2_quote_raw": 228192714.997906 + }, + { + "round": 242, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000209, + "cumulative_extracted_raw": 223124548.998115, + "legacy_quote_remaining_raw": 0.001885, + "projected_v2_base_raw": 228192714.998115, + "projected_v2_quote_raw": 228192714.998115 + }, + { + "round": 243, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000188, + "cumulative_extracted_raw": 223124548.998304, + "legacy_quote_remaining_raw": 0.001696, + "projected_v2_base_raw": 228192714.998304, + "projected_v2_quote_raw": 228192714.998304 + }, + { + "round": 244, + "rate_bps": 1000, + "extracted_this_round_raw": 0.00017, + "cumulative_extracted_raw": 223124548.998473, + "legacy_quote_remaining_raw": 0.001527, + "projected_v2_base_raw": 228192714.998473, + "projected_v2_quote_raw": 228192714.998473 + }, + { + "round": 245, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000153, + "cumulative_extracted_raw": 223124548.998626, + "legacy_quote_remaining_raw": 0.001374, + "projected_v2_base_raw": 228192714.998626, + "projected_v2_quote_raw": 228192714.998626 + }, + { + "round": 246, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000137, + "cumulative_extracted_raw": 223124548.998763, + "legacy_quote_remaining_raw": 0.001237, + "projected_v2_base_raw": 228192714.998763, + "projected_v2_quote_raw": 228192714.998763 + }, + { + "round": 247, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000124, + "cumulative_extracted_raw": 223124548.998887, + "legacy_quote_remaining_raw": 0.001113, + "projected_v2_base_raw": 228192714.998887, + "projected_v2_quote_raw": 228192714.998887 + }, + { + "round": 248, + "rate_bps": 1000, + "extracted_this_round_raw": 0.000111, + "cumulative_extracted_raw": 223124548.998998, + "legacy_quote_remaining_raw": 0.001002, + "projected_v2_base_raw": 228192714.998998, + "projected_v2_quote_raw": 228192714.998998 + }, + { + "round": 249, + "rate_bps": 1000, + "extracted_this_round_raw": 0.0001, + "cumulative_extracted_raw": 223124548.999099, + "legacy_quote_remaining_raw": 0.000901, + "projected_v2_base_raw": 228192714.999099, + "projected_v2_quote_raw": 228192714.999099 + }, + { + "round": 250, + "rate_bps": 1000, + "extracted_this_round_raw": 9e-05, + "cumulative_extracted_raw": 223124548.999189, + "legacy_quote_remaining_raw": 0.000811, + "projected_v2_base_raw": 228192714.999189, + "projected_v2_quote_raw": 228192714.999189 + } + ] + } +} \ No newline at end of file diff --git a/reports/extraction/growth-pricing-guardrails-latest.json b/reports/extraction/growth-pricing-guardrails-latest.json new file mode 100644 index 00000000..f2e5569e --- /dev/null +++ b/reports/extraction/growth-pricing-guardrails-latest.json @@ -0,0 +1,45 @@ +{ + "status": "live-read", + "pass_guardrails": true, + "pause_growth": false, + "max_deviation_bps_seen": 7760.68824, + "thresholds": { + "max_cwusdc_usdc_deviation_bps": 50.0, + "max_cwusdt_usdt_deviation_bps": 75.0, + "pause_on_deviation_bps": 100.0 + }, + "pairs": { + "legacy_cwusdc_usdc": { + "base_raw": 860795673, + "quote_raw": 221764619, + "deviation_bps": 7423.725212, + "within_max": false, + "max_bps": 50.0, + "enforced": false + }, + "legacy_cwusdt_usdt": { + "base_raw": 9745664, + "quote_raw": 2182358, + "deviation_bps": 7760.68824, + "within_max": false, + "max_bps": 75.0, + "enforced": false + }, + "v2_cwusdc_usdc": { + "base_raw": 17453828, + "quote_raw": 17453828, + "deviation_bps": 0.0, + "within_max": true, + "max_bps": 50.0, + "enforced": true + }, + "v2_cwusdt_usdt": { + "base_raw": 562479, + "quote_raw": 562479, + "deviation_bps": 0.0, + "within_max": true, + "max_bps": 75.0, + "enforced": true + } + } +} \ No newline at end of file diff --git a/reports/extraction/growth-stage-report-latest.json b/reports/extraction/growth-stage-report-latest.json new file mode 100644 index 00000000..f878ad02 --- /dev/null +++ b/reports/extraction/growth-stage-report-latest.json @@ -0,0 +1,25 @@ +{ + "status": "live-read", + "stage": "early", + "wallet_canonical_usd": 0.0, + "controlled_direct_exit_usd": 18.016307, + "total_direct_exit_usd": 241.963284, + "legacy_bootstrap_usd": 223.946977, + "thresholds": { + "early_direct_exit_usd": 1000.0, + "mid_direct_exit_usd": 10000.0, + "mature_direct_exit_usd": 100000.0 + }, + "ratio_keys": { + "retain_bps_key": "retain_bps_early", + "redeploy_bps_key": "redeploy_bps_early" + }, + "components": { + "wallet_usdc_raw": 0, + "wallet_usdt_raw": 0, + "v2_usdc_quote_raw": 17453828, + "v2_usdt_quote_raw": 562479, + "legacy_usdc_quote_raw": 221764619, + "legacy_usdt_quote_raw": 2182358 + } +} \ No newline at end of file diff --git a/reports/extraction/gru-v2-mainnet-bridge-parity-latest.json b/reports/extraction/gru-v2-mainnet-bridge-parity-latest.json new file mode 100644 index 00000000..72201d2b --- /dev/null +++ b/reports/extraction/gru-v2-mainnet-bridge-parity-latest.json @@ -0,0 +1,217 @@ +{ + "generated_at": "2026-04-16T02:03:12Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "overall_ready": true, + "coexistence_ready": true, + "lane_policy": { + "status": "live-read", + "shared_mirrored_lanes_on_mainnet": false, + "v2_cutover_active": false, + "v1_displaced_assets": [], + "coexistence_requires_distinct_mirrored_tokens": true, + "distinct_v2_mirrors_live": true, + "notes": [ + "The deployed Mainnet CWMultiTokenBridgeL2 uses a one-to-one mirroredToken -> canonicalToken mapping.", + "configureTokenPair(canonical, mirrored) clears the previous canonical mapping for the same mirrored token.", + "True V1/V2 coexistence requires distinct V2 mirrored tokens.", + "The live parity state is coexistence-ready when both V1 legacy lanes and V2 distinct lanes are mapped at once." + ], + "code_reference": "smom-dbis-138/contracts/bridge/CWMultiTokenBridgeL2.sol:88" + }, + "l1_bridge_138": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge_mainnet": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "mainnet_selector": 5009297550715157269, + "assets": [ + { + "symbol": "cUSDC_V2", + "canonical_token": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "mirrored_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "current_chain138_balance_raw": "75000000000", + "operator_roles": { + "defaultAdmin": true, + "minter": true, + "burner": true, + "pauser": true, + "bridge": true, + "governance": true, + "jurisdictionAdmin": true, + "regulator": true, + "supervisor": true, + "emergencyAdmin": true, + "supplyAdmin": true, + "metadataAdmin": true + }, + "dry_run_probe": { + "label": "cUSDC_V2", + "canonicalToken": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + "configure_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDC_V2", + "execute_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDC_V2 --execute" + }, + { + "symbol": "cUSDT_V2", + "canonical_token": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "mirrored_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "current_chain138_balance_raw": "75000000000", + "operator_roles": { + "defaultAdmin": true, + "minter": true, + "burner": true, + "pauser": true, + "bridge": true, + "governance": true, + "jurisdictionAdmin": true, + "regulator": true, + "supervisor": true, + "emergencyAdmin": true, + "supplyAdmin": true, + "metadataAdmin": true + }, + "dry_run_probe": { + "label": "cUSDT_V2", + "canonicalToken": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + "configure_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDT_V2", + "execute_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDT_V2 --execute" + } + ], + "v1_reference_assets": [ + { + "symbol": "cUSDT_V1", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "mainnet_mirrored_token": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "dry_run_probe": { + "label": "cUSDT_V1", + "canonicalToken": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + }, + { + "symbol": "cUSDC_V1", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "mainnet_mirrored_token": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "dry_run_probe": { + "label": "cUSDC_V1", + "canonicalToken": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + } + ], + "dry_run_result": { + "generatedAt": "2026-04-16T02:03:12Z", + "chainId138": 138, + "chainIdMainnet": 1, + "rpc138": "http://192.168.11.211:8545", + "rpcMainnet": "https://spectrum-02.simplystaking.xyz/dHhsYWpiZ3ctMDItMTlhMTZjZmY/Dq-EyjqZZ1IQpA/ethereum/mainnet/", + "l1Bridge138": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2BridgeMainnet": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "mainnetSelector": 5009297550715157269, + "gruV2BridgeableToMainnet": true, + "assets": [ + { + "label": "cUSDT_V1", + "canonicalToken": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + { + "label": "cUSDC_V1", + "canonicalToken": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + { + "label": "cUSDT_V2", + "canonicalToken": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + { + "label": "cUSDC_V2", + "canonicalToken": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + ] + } +} diff --git a/reports/extraction/gru-v2-mainnet-funding-plan-latest.json b/reports/extraction/gru-v2-mainnet-funding-plan-latest.json new file mode 100644 index 00000000..6247c191 --- /dev/null +++ b/reports/extraction/gru-v2-mainnet-funding-plan-latest.json @@ -0,0 +1,270 @@ +{ + "generated_at": "2026-04-16T02:03:28Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "default_target_exit_usd": 100000, + "parity_state": { + "generated_at": "2026-04-16T02:03:21Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "overall_ready": true, + "coexistence_ready": true, + "lane_policy": { + "status": "live-read", + "shared_mirrored_lanes_on_mainnet": false, + "v2_cutover_active": false, + "v1_displaced_assets": [], + "coexistence_requires_distinct_mirrored_tokens": true, + "distinct_v2_mirrors_live": true, + "notes": [ + "The deployed Mainnet CWMultiTokenBridgeL2 uses a one-to-one mirroredToken -> canonicalToken mapping.", + "configureTokenPair(canonical, mirrored) clears the previous canonical mapping for the same mirrored token.", + "True V1/V2 coexistence requires distinct V2 mirrored tokens.", + "The live parity state is coexistence-ready when both V1 legacy lanes and V2 distinct lanes are mapped at once." + ], + "code_reference": "smom-dbis-138/contracts/bridge/CWMultiTokenBridgeL2.sol:88" + }, + "l1_bridge_138": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge_mainnet": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "mainnet_selector": 5009297550715157269, + "assets": [ + { + "symbol": "cUSDC_V2", + "canonical_token": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "mirrored_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "current_chain138_balance_raw": "75000000000", + "operator_roles": { + "defaultAdmin": true, + "minter": true, + "burner": true, + "pauser": true, + "bridge": true, + "governance": true, + "jurisdictionAdmin": true, + "regulator": true, + "supervisor": true, + "emergencyAdmin": true, + "supplyAdmin": true, + "metadataAdmin": true + }, + "dry_run_probe": { + "label": "cUSDC_V2", + "canonicalToken": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + "configure_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDC_V2", + "execute_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDC_V2 --execute" + }, + { + "symbol": "cUSDT_V2", + "canonical_token": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "mirrored_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "current_chain138_balance_raw": "75000000000", + "operator_roles": { + "defaultAdmin": true, + "minter": true, + "burner": true, + "pauser": true, + "bridge": true, + "governance": true, + "jurisdictionAdmin": true, + "regulator": true, + "supervisor": true, + "emergencyAdmin": true, + "supplyAdmin": true, + "metadataAdmin": true + }, + "dry_run_probe": { + "label": "cUSDT_V2", + "canonicalToken": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + "configure_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDT_V2", + "execute_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDT_V2 --execute" + } + ], + "v1_reference_assets": [ + { + "symbol": "cUSDT_V1", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "mainnet_mirrored_token": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "dry_run_probe": { + "label": "cUSDT_V1", + "canonicalToken": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + }, + { + "symbol": "cUSDC_V1", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "mainnet_mirrored_token": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "dry_run_probe": { + "label": "cUSDC_V1", + "canonicalToken": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + } + ], + "dry_run_result": { + "generatedAt": "2026-04-16T02:03:21Z", + "chainId138": 138, + "chainIdMainnet": 1, + "rpc138": "http://192.168.11.211:8545", + "rpcMainnet": "https://spectrum-02.simplystaking.xyz/dHhsYWpiZ3ctMDItMTlhMTZjZmY/Dq-EyjqZZ1IQpA/ethereum/mainnet/", + "l1Bridge138": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2BridgeMainnet": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "mainnetSelector": 5009297550715157269, + "gruV2BridgeableToMainnet": true, + "assets": [ + { + "label": "cUSDT_V1", + "canonicalToken": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + { + "label": "cUSDC_V1", + "canonicalToken": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + { + "label": "cUSDT_V2", + "canonicalToken": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + { + "label": "cUSDC_V2", + "canonicalToken": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + ] + } + }, + "assets": [ + { + "symbol": "cUSDC_V2", + "canonical_token": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "mirrored_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "funding_pair": "cwusdcv2-usdc", + "status": "simulated", + "parity_required": false, + "lane_cutover_active": false, + "v1_coexistence_ready": true, + "target_exit_usd": 100000, + "current_chain138_balance_raw": "75000000000", + "bridge_amount_raw": "2000000000000", + "mint_needed_raw": "1925000000000", + "quote_side_requirement_raw": "2000000000000", + "wallet_can_fund_quote_side_now": false, + "capital_movement_required": true, + "mint_command": "cast send 0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d \"mint(address,uint256)\" 0x4A666F96fC8764181194447A7dFdb7d471b301C8 1925000000000 --rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy", + "bridge_command": "bash scripts/bridge/bridge-canonical-token-to-mainnet-cw.sh --label cUSDC_V2 --canonical-token 0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d --mirrored-token 0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c --raw-amount 2000000000000 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --approve", + "fund_pool_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=full-target --target-usd=100000" + }, + { + "symbol": "cUSDT_V2", + "canonical_token": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "mirrored_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "funding_pair": "cwusdtv2-usdt", + "status": "simulated", + "parity_required": false, + "lane_cutover_active": false, + "v1_coexistence_ready": true, + "target_exit_usd": 100000, + "current_chain138_balance_raw": "75000000000", + "bridge_amount_raw": "2000000000000", + "mint_needed_raw": "1925000000000", + "quote_side_requirement_raw": "2000000000000", + "wallet_can_fund_quote_side_now": false, + "capital_movement_required": true, + "mint_command": "cast send 0x9FBfab33882Efe0038DAa608185718b772EE5660 \"mint(address,uint256)\" 0x4A666F96fC8764181194447A7dFdb7d471b301C8 1925000000000 --rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy", + "bridge_command": "bash scripts/bridge/bridge-canonical-token-to-mainnet-cw.sh --label cUSDT_V2 --canonical-token 0x9FBfab33882Efe0038DAa608185718b772EE5660 --mirrored-token 0x7E8FF0DcC974F290a29968e9350800a6df674447 --raw-amount 2000000000000 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --approve", + "fund_pool_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=full-target --target-usd=100000" + } + ] +} diff --git a/reports/extraction/gru-v2-wave1-funding-authority-report-latest.json b/reports/extraction/gru-v2-wave1-funding-authority-report-latest.json new file mode 100644 index 00000000..85c5ab01 --- /dev/null +++ b/reports/extraction/gru-v2-wave1-funding-authority-report-latest.json @@ -0,0 +1,8682 @@ +{ + "generated_at": "2026-04-16T09:59:25.022607Z", + "description": "Chain-by-chain GRU v2 Wave 1 funding and authority report for the remaining missing public pools.", + "sources": [ + "reports/extraction/gru-v2-wave1-public-deploy-plan-latest.json", + "reports/extraction/gru-v2-wave1-public-gap-report-latest.json", + "reports/status/contract_verification_publish_matrix.json" + ], + "summary": { + "remaining_missing_pairs": 99, + "rows_missing_quote_side_stable": 99, + "rows_missing_base_side_balance": 99, + "rows_missing_base_side_mintability": 99, + "rows_missing_integration": 10, + "rows_missing_verification_publication": 99, + "top_missing_reasons": { + "base_side_balance": 99, + "base_side_mintability": 99, + "quote_side_stable": 99, + "verification_publication_status": 99, + "integration": 10 + } + }, + "chains": [ + { + "chain_id": 10, + "network": "Optimism", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 25, + "network": "Cronos", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 56, + "network": "BSC", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 100, + "network": "Gnosis", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 137, + "network": "Polygon", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 1111, + "network": "Wemix", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 10, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 8453, + "network": "Base", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + }, + { + "chain_id": 42220, + "network": "Celo", + "missing_pair_count": 9, + "rows_missing_quote_side_stable": 9, + "rows_missing_base_side_balance": 9, + "rows_missing_base_side_mintability": 9, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 9 + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "missing_pair_count": 10, + "rows_missing_quote_side_stable": 10, + "rows_missing_base_side_balance": 10, + "rows_missing_base_side_mintability": 10, + "rows_missing_integration": 0, + "rows_missing_verification_publication": 10 + } + ], + "rows": [ + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0x4ab39b5bab7b463435209a9039bd40cf241f5a82", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0x6f521cd9fcf7884cd4e9486c7790e818638e09dd", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0x3f8c409c6072a2b6a4ff17071927ba70f80c725f", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0x456373d095d6b9260f01709f93fccf1d8aa14d11", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_OPTIMISM", + "address": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Optimism explorer + repo inventory/token maps", + "explorer": "https://optimistic.etherscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWAUDC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0xff3084410A732231472Ee9f93F5855dA89CC5254", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0x32aD687F24F77bF8C86605c202c829163Ac5Ab36", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0xB55F49D6316322d5caA96D34C6e4b1003BD3E670", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0x7574d37F42528B47c88962931e48FC61608a4050", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0x9f833b4f1012F52eb3317b09922a79c6EdFca77D", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0xe5c65A76A541368d3061fe9E7A2140cABB903dbF", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0xBb58fa16bAc8E789f09C14243adEE6480D8213A2", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0x52aD62B8bD01154e2A4E067F8Dc4144C9988d203", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0xD517C0cF7013f988946A468c880Cc9F8e2A4BCbE", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CRONOS", + "address": "0xd17dd5cf60850Cc3D7FEB59Ac3D6f8f223CC9EDE", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Cronoscan + repo inventory/token maps", + "explorer": "https://cronoscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWAUDC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0x7062f35567BBAb4d98dc33af03B0d14Df42294D5", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCADC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0x9AE7a6B311584D60Fa93f973950d609061875775", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCHFC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0xD9f8710caeeBA3b3D423D7D14a918701426B5ef3", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0x50b073d0D1D2f002745cb9FC28a057d5be84911c", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0x1ED9E491A5eCd53BeF21962A5FCE24880264F63f", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0x8b6EE72001cAFcb21D56a6c4686D6Db951d499A6", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0xA6eFb8783C8ad2740ec880e46D4f7E608E893B1B", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWJPYC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0x5fbCE65524211BC1bFb0309fd9EE09E786c6D097", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0xCB145bA9A370681e3545F60e55621eBf218B1031", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": "0x55d398326f99059fF775485246999027B3197955", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0x73E0CF8BF861D376B3a4C87c136F975027f045ff", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BSC", + "address": "0xD2B4dBf2f6bD6704e066d752eEc61fb0BE953FD3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "BscScan + repo inventory/token maps", + "explorer": "https://bscscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0xddc4063f770f7c49d00b5a10fb552e922aa39b2c", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCADC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0xa7133c78e0ec74503a5941bcbd44257615b6b4f6", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0x46d90d7947f1139477c206c39268923b99cf09e4", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0x25603ae4bff0b71d637b3573d1b6657f5f6d17ef", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0x8e54c52d34a684e22865ac9f2d7c27c30561a7b9", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0x4d9bc6c74ba65e37c4139f0aec9fc5ddff28dcc4", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0x9f6d2578003fe04e58a9819a4943732f2a203a61", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0x145e8e8c49b6a021969dd9d2c01c8fea44374f61", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0x23873b85cfeb343eb952618e8c9e9bfb7f6a0d45", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0xc6189d404dc60cae7b48e2190e44770a03193e5f", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_GNOSIS", + "address": "0x5866c2CeAfcdB36375A731532B434c370885678a", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Gnosis explorer + repo inventory/token maps", + "explorer": "https://gnosisscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0xFb4B6Cc81211F7d886950158294A44C312abCA29", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0xc9750828124D4c10e7a6f4B655cA8487bD3842EB", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0x3CD9ee18db7ad13616FCC1c83bC6098e03968E66", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0x948690147D2e50ffe50C5d38C14125aD6a9FA036", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0x328Cd365Bb35524297E68ED28c6fF2C9557d1363", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_POLYGON", + "address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "PolygonScan + repo inventory/token maps", + "explorer": "https://polygonscan.com", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWAUDC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWAUDC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWCADC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWCADC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWCHFC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWCHFC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWEURC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWEURC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWEURT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWEURT_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWGBPC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWGBPC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWGBPT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWGBPT_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWJPYC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": null, + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWJPYC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWXAUC/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": null, + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWXAUC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWXAUT/USDT", + "hub_stable": "USDT", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": true, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "integration", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDT", + "quote_address": null, + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": null, + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_WEMIX", + "address": null, + "present": false + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "quote_token": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "integration_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed_live": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWXAUT_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "next_step": "resolve_blockers" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0xcb145ba9a370681e3545f60e55621ebf218b1031", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0x73e0cf8bf861d376b3a4c87c136f975027f045ff", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_BASE", + "address": "0xA3bfEd96491448c63C66C0cF33a5A90B3693cFC3", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Basescan + repo inventory/token maps", + "explorer": "https://basescan.org", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0xc1535e88578d984f12eab55863376b8d8b9fb05a", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0xcc6ae6016d564e9ab82aaff44d65e05a9b18951c", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0x7e4b4682453bcce19ec903fb69153d3031986bc4", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0x2a0023ad5ce1ac6072b454575996dffb1bb11b16", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0x22b98130ab4d9c355512b25ade4c35e75a4e7e89", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0xa846aead3071df1b6439d5d813156ace7c2c1da1", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0x29828e9ab2057cd3df3c9211455ae1f76e53d2af", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0xdc383c489533a4dd9a6bd3007386e25d5078b878", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0xa7762b63c4871581885ad17c5714ebb286a7480b", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0x66568899ffe8f00b25dc470e878b65a478994e76", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_ARBITRUM", + "address": "0x0498294a6Ed31CE61d7eB3d09d0fe05F622a888B", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Arbiscan + repo inventory/token maps", + "explorer": "https://arbiscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0x0C242b513008Cd49C89078F5aFb237A3112251EB", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0x8142BA530B08f3950128601F00DaaA678213DFdf", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0xb6D2f38b9015F32ccE8818509c712264E7fceeD3", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0x7e6fB8D80f81430e560F8232b2A4fd06249d74ce", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0xE37c332a88f112F9e039C5d92D821402A89c7052", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0x1dBa81f91f1BeC47FFf60eC3e7DeD780ad9968E3", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0x0b39F47D2E68aB0eB18d4b637Bbd1dD8E97cFbB5", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0x61D642979eD75c1325f35b9275C5A7FE97F22451", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0x30751782486eed825187C1EAe5DE4b4baD428AaE", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_CELO", + "address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Celo explorer + repo inventory/token maps", + "explorer": "https://celoscan.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "66000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWAUDC", + "base_address": "0x04e1e22b0d41e99f4275bd40a50480219bc9a223", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "74000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCADC", + "base_address": "0x1872e033b30f3ce0498847926857433e0146394e", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "111000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWCHFC", + "base_address": "0xc2fa05f12a75ac84ea778af9d6935ca807275e55", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURC", + "base_address": "0x84353ed1f0c7a703a17abad19b0db15bc9a5e3e5", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "108000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWEURT", + "base_address": "0xfc7d256e48253f7a7e08f0e55b9ff7039eb2524c", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPC", + "base_address": "0xbdf0c4ea1d81e8e769b0f41389a2c733e3ff723e", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "127000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWGBPT", + "base_address": "0x4611d3424e059392a52b957e508273bc761c80f2", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "670000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWJPYC", + "base_address": "0x3714b1a312e0916c7dcdc4edf480fc0339e59a59", + "required_raw": "100000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "100000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUC", + "base_address": "0x4f95297c23d9f4a1032b1c6a2e553225cb175bee", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC", + "missing": { + "quote_side_stable": true, + "base_side_balance": true, + "base_side_mintability": true, + "integration": false, + "verification_publication_status": true + }, + "missing_reasons": [ + "quote_side_stable", + "base_side_balance", + "base_side_mintability", + "verification_publication_status" + ], + "quote_side_stable": { + "quote_symbol": "USDC", + "quote_address": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "required_raw": "3200000000", + "wallet_balance_raw": null, + "sufficient": false + }, + "base_side_balance": { + "base_symbol": "cWXAUT", + "base_address": "0xd2b4dbf2f6bd6704e066d752eec61fb0be953fd3", + "required_raw": "1000000", + "wallet_balance_raw": null, + "sufficient": false, + "base_supply_mode": "unknown" + }, + "base_side_mintability": { + "mintable_base": false, + "mint_base_amount_raw": "1000000" + }, + "integration": { + "env_key": "DODO_PMM_INTEGRATION_AVALANCHE", + "address": "0xf1B771c95573113E993374c0c7cB2dc1a7908B12", + "present": true + }, + "verification_publication_status": { + "overall_complete": false, + "base_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Cross-chain wrapped/canonical token; verify on explorer and keep PMM/token-mapping inventories aligned" + }, + "quote_token": { + "tracked": true, + "verification_status": "pending", + "publication_status": "pending", + "publish_surface": "Snowtrace + repo inventory/token maps", + "explorer": "https://snowtrace.io", + "notes": "Anchor/reference asset; confirm explorer address and keep mapping docs current" + }, + "integration_contract": { + "tracked": false, + "verification_status": "untracked", + "publication_status": "untracked", + "publish_surface": "", + "explorer": "", + "notes": "No matching verification/publication matrix row found" + }, + "pool_contract": { + "tracked": false, + "verification_status": "not_deployed", + "publication_status": "not_deployed", + "publish_surface": "", + "explorer": "", + "notes": "Pool or contract not yet deployed" + } + }, + "existing_pool_address": null, + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed_live": true, + "blockers": [ + "bootstrap_price_requires_operator_review" + ], + "next_step": "deploy_or_seed_now" + } + ] +} diff --git a/reports/extraction/gru-v2-wave1-public-deploy-plan-latest.json b/reports/extraction/gru-v2-wave1-public-deploy-plan-latest.json new file mode 100644 index 00000000..5dd6465d --- /dev/null +++ b/reports/extraction/gru-v2-wave1-public-deploy-plan-latest.json @@ -0,0 +1,796 @@ +{ + "generated_at": "2026-04-16T18:20:59.146546Z", + "description": "Universal GRU v2 Wave 1 public pool deployment plan derived from the missing-pool gap report, env, deployment-status, and seed policy.", + "sources": [ + "reports/extraction/gru-v2-wave1-public-gap-report-latest.json", + "cross-chain-pmm-lps/config/deployment-status.json", + "config/extraction/gru-v2-wave1-public-seed-policy.json", + "repo env via scripts/lib/load-project-env.sh", + "optional live RPC checks via GRU_WAVE1_PLAN_LIVE_CHECKS=1" + ], + "summary": { + "planned_missing_rows": 16, + "ready_to_create_strict": 0, + "ready_to_create_with_bootstrap_price": 1, + "ready_to_seed": 0, + "existing_pool_rows_found_onchain": 5, + "counts_by_network": { + "Polygon": 6, + "Wemix": 10 + }, + "top_blockers": { + "bootstrap_price_requires_operator_review": 16, + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX": 10, + "missing_quote_anchor:USDT": 10, + "insufficient_base_balance": 6, + "missing_base_token_env:CWAUDC_WEMIX": 1, + "missing_base_token_env:CWCADC_WEMIX": 1, + "missing_base_token_env:CWCHFC_WEMIX": 1, + "missing_base_token_env:CWEURC_WEMIX": 1, + "missing_base_token_env:CWEURT_WEMIX": 1, + "missing_base_token_env:CWGBPC_WEMIX": 1, + "missing_base_token_env:CWGBPT_WEMIX": 1, + "missing_base_token_env:CWJPYC_WEMIX": 1, + "missing_base_token_env:CWXAUC_WEMIX": 1, + "missing_base_token_env:CWXAUT_WEMIX": 1 + } + }, + "rows": [ + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/USDC", + "base_symbol": "cWEURT", + "quote_symbol": "USDC", + "hub_stable": "USDC", + "rpc_env_key": "POLYGON_RPC_URL", + "integration_env_key": "DODO_PMM_INTEGRATION_POLYGON", + "base_env_key": "CWEURT_POLYGON", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": true, + "base_token_present": true, + "quote_anchor_present": true, + "base_address": "0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "integration_address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": "0x36aB6bef2B3335ebf6a762665978bf5e845FDEC0", + "initial_price_e18": "1080000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "108000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": "0", + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "insufficient", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "insufficient_base_balance" + ], + "create_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'createPool(address,address,uint256,uint256,uint256,bool)(address)' 0xBeF5A0Bcc0E77740c910f197138cdD90F98d2427 0xc21223249CA28397B4B6541dfFaEcC539BfF0c59 3 1080000000000000000 500000000000000000 false --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "seed_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'addLiquidity(address,uint256,uint256)(uint256,uint256,uint256)' 100000000 108000000 --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "next_step": "resolve_blockers" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPC/USDC", + "base_symbol": "cWGBPC", + "quote_symbol": "USDC", + "hub_stable": "USDC", + "rpc_env_key": "POLYGON_RPC_URL", + "integration_env_key": "DODO_PMM_INTEGRATION_POLYGON", + "base_env_key": "CWGBPC_POLYGON", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": true, + "base_token_present": true, + "quote_anchor_present": true, + "base_address": "0x948690147D2e50ffe50C5d38C14125aD6a9FA036", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "integration_address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": "0x7a95f67E31f271A6a83219d8368D963Ee2fC106B", + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "127000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": "0", + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "insufficient", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "insufficient_base_balance" + ], + "create_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'createPool(address,address,uint256,uint256,uint256,bool)(address)' 0x948690147D2e50ffe50C5d38C14125aD6a9FA036 0xc21223249CA28397B4B6541dfFaEcC539BfF0c59 3 1270000000000000000 500000000000000000 false --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "seed_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'addLiquidity(address,uint256,uint256)(uint256,uint256,uint256)' 100000000 127000000 --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "next_step": "resolve_blockers" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/USDC", + "base_symbol": "cWGBPT", + "quote_symbol": "USDC", + "hub_stable": "USDC", + "rpc_env_key": "POLYGON_RPC_URL", + "integration_env_key": "DODO_PMM_INTEGRATION_POLYGON", + "base_env_key": "CWGBPT_POLYGON", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": true, + "base_token_present": true, + "quote_anchor_present": true, + "base_address": "0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "integration_address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": "0xC3645c7153b7B72556e322aA1E72D77536d9A3DE", + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "127000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": "0", + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "insufficient", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "insufficient_base_balance" + ], + "create_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'createPool(address,address,uint256,uint256,uint256,bool)(address)' 0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd 0xc21223249CA28397B4B6541dfFaEcC539BfF0c59 3 1270000000000000000 500000000000000000 false --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "seed_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'addLiquidity(address,uint256,uint256)(uint256,uint256,uint256)' 100000000 127000000 --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "next_step": "resolve_blockers" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/USDC", + "base_symbol": "cWJPYC", + "quote_symbol": "USDC", + "hub_stable": "USDC", + "rpc_env_key": "POLYGON_RPC_URL", + "integration_env_key": "DODO_PMM_INTEGRATION_POLYGON", + "base_env_key": "CWJPYC_POLYGON", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": true, + "base_token_present": true, + "quote_anchor_present": true, + "base_address": "0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "integration_address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": "0x09658d8d81aa8fa7a21eD973787638f245bc3fe0", + "initial_price_e18": "6700000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "670000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": "0", + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "insufficient", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "insufficient_base_balance" + ], + "create_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'createPool(address,address,uint256,uint256,uint256,bool)(address)' 0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68 0xc21223249CA28397B4B6541dfFaEcC539BfF0c59 3 6700000000000000 500000000000000000 false --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "seed_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'addLiquidity(address,uint256,uint256)(uint256,uint256,uint256)' 100000000 670000 --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "next_step": "resolve_blockers" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/USDC", + "base_symbol": "cWXAUC", + "quote_symbol": "USDC", + "hub_stable": "USDC", + "rpc_env_key": "POLYGON_RPC_URL", + "integration_env_key": "DODO_PMM_INTEGRATION_POLYGON", + "base_env_key": "CWXAUC_POLYGON", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": true, + "base_token_present": true, + "quote_anchor_present": true, + "base_address": "0x328Cd365Bb35524297E68ED28c6fF2C9557d1363", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "integration_address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": "0x3c3b9Bd130fB3aBcC0E0CE6552795DD56BCCc55c", + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "1000000", + "quote_amount_raw": "3200000000", + "mint_base_amount_raw": "1000000", + "wallet_base_balance_raw": "0", + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "insufficient", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "insufficient_base_balance" + ], + "create_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'createPool(address,address,uint256,uint256,uint256,bool)(address)' 0x328Cd365Bb35524297E68ED28c6fF2C9557d1363 0xc21223249CA28397B4B6541dfFaEcC539BfF0c59 3 3200000000000000000000 500000000000000000 false --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "seed_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'addLiquidity(address,uint256,uint256)(uint256,uint256,uint256)' 1000000 3200000000 --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "next_step": "resolve_blockers" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/USDC", + "base_symbol": "cWXAUT", + "quote_symbol": "USDC", + "hub_stable": "USDC", + "rpc_env_key": "POLYGON_RPC_URL", + "integration_env_key": "DODO_PMM_INTEGRATION_POLYGON", + "base_env_key": "CWXAUT_POLYGON", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": true, + "base_token_present": true, + "quote_anchor_present": true, + "base_address": "0x9e6044d730d4183bF7a666293d257d035Fba6d44", + "quote_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59", + "integration_address": "0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5", + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": "0x0000000000000000000000000000000000000000", + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "1000000", + "quote_amount_raw": "3200000000", + "mint_base_amount_raw": "1000000", + "wallet_base_balance_raw": "0", + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "insufficient", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": true, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "insufficient_base_balance" + ], + "create_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'createPool(address,address,uint256,uint256,uint256,bool)(address)' 0x9e6044d730d4183bF7a666293d257d035Fba6d44 0xc21223249CA28397B4B6541dfFaEcC539BfF0c59 3 3200000000000000000000 500000000000000000 false --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "seed_command": "cast send 0x84353eD1f0C7a703a17aBAd19b0dB15Bc9A5e3e5 'addLiquidity(address,uint256,uint256)(uint256,uint256,uint256)' 1000000 3200000000 --rpc-url https://spectrum-03.simplystaking.xyz/dHhsYWpiZ3ctMDMtMTlhMTZjZmY/D0ZpITILU75OdA/polygon/mainnet/ --private-key $PRIVATE_KEY", + "next_step": "operator_review_bootstrap_price" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWAUDC/USDT", + "base_symbol": "cWAUDC", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWAUDC_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "660000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "66000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWAUDC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWCADC/USDT", + "base_symbol": "cWCADC", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWCADC_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "740000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "74000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWCADC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWCHFC/USDT", + "base_symbol": "cWCHFC", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWCHFC_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "1110000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "111000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWCHFC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWEURC/USDT", + "base_symbol": "cWEURC", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWEURC_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "1080000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "108000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWEURC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWEURT/USDT", + "base_symbol": "cWEURT", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWEURT_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "1080000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "108000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWEURT_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWGBPC/USDT", + "base_symbol": "cWGBPC", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWGBPC_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "127000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWGBPC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWGBPT/USDT", + "base_symbol": "cWGBPT", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWGBPT_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "127000000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWGBPT_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWJPYC/USDT", + "base_symbol": "cWJPYC", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWJPYC_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "6700000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "quote_amount_raw": "670000", + "mint_base_amount_raw": "100000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWJPYC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWXAUC/USDT", + "base_symbol": "cWXAUC", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWXAUC_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "1000000", + "quote_amount_raw": "3200000000", + "mint_base_amount_raw": "1000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWXAUC_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWXAUT/USDT", + "base_symbol": "cWXAUT", + "quote_symbol": "USDT", + "hub_stable": "USDT", + "rpc_env_key": "WEMIX_RPC", + "integration_env_key": "DODO_PMM_INTEGRATION_WEMIX", + "base_env_key": "CWXAUT_WEMIX", + "quote_anchor_source": "deployment-status.json", + "rpc_url_present": true, + "integration_present": false, + "base_token_present": false, + "quote_anchor_present": false, + "base_address": null, + "quote_address": null, + "integration_address": null, + "deployer": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "live_checks_enabled": true, + "existing_pool_address": null, + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "fee_bps": "3", + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "1000000", + "quote_amount_raw": "3200000000", + "mint_base_amount_raw": "1000000", + "wallet_base_balance_raw": null, + "wallet_quote_balance_raw": null, + "wallet_base_allowance_raw": null, + "wallet_quote_allowance_raw": null, + "mintable_base": false, + "base_supply_mode": "unknown", + "ready_to_create": false, + "ready_to_create_with_bootstrap_price": false, + "ready_to_seed": false, + "blockers": [ + "bootstrap_price_requires_operator_review", + "missing_base_token_env:CWXAUT_WEMIX", + "missing_integration_env:DODO_PMM_INTEGRATION_WEMIX", + "missing_quote_anchor:USDT" + ], + "create_command": "", + "seed_command": "", + "next_step": "resolve_blockers" + } + ] +} diff --git a/reports/extraction/gru-v2-wave1-public-deploy-run-latest.json b/reports/extraction/gru-v2-wave1-public-deploy-run-latest.json new file mode 100644 index 00000000..87277748 --- /dev/null +++ b/reports/extraction/gru-v2-wave1-public-deploy-run-latest.json @@ -0,0 +1,25 @@ +{ + "generated_at": "2026-04-16T18:21:04.996618Z", + "description": "Universal GRU v2 Wave 1 pool operator live run record.", + "rows": [ + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/USDC", + "status": "executed_create_only", + "create_tx": "0x66fd5ad30ae20890de9c06abf37e9db84d352447ae0035eec32e0ca1a5a501ed", + "seed_tx": null, + "pool_address_before": "0x0000000000000000000000000000000000000000", + "pool_address_after": "0x37D5587Bbe17571cDe96DAB7b2e7EA234C87f525", + "notes": [], + "base_supply_mode": "insufficient", + "mintable_base": false, + "wallet_base_balance_raw": "0", + "wallet_quote_balance_raw": null, + "blockers": [ + "bootstrap_price_requires_operator_review", + "insufficient_base_balance" + ] + } + ] +} diff --git a/reports/extraction/gru-v2-wave1-public-gap-report-latest.json b/reports/extraction/gru-v2-wave1-public-gap-report-latest.json new file mode 100644 index 00000000..558178ab --- /dev/null +++ b/reports/extraction/gru-v2-wave1-public-gap-report-latest.json @@ -0,0 +1,1070 @@ +{ + "generated_at": "2026-04-16T18:22:10.879495Z", + "description": "Canonical machine-readable GRU v2 public Wave 1 rollout gap report.", + "sources": [ + "scripts/verify/check-gru-v2-deployment-queue.sh --json", + "cross-chain-pmm-lps/config/deployment-status.json", + "config/gru-v2-d3mm-network-expansion-plan.json", + "cross-chain-pmm-lps/config/pool-matrix.json" + ], + "summary": { + "desired_public_evm_targets": 11, + "chains_with_loaded_cw_suites": 11, + "chains_missing_cw_suites": 0, + "first_tier_wave1_pools_planned": 110, + "first_tier_wave1_pools_recorded_live": 100, + "first_tier_wave1_pools_missing": 10, + "wave1_transport_pending_assets": 7, + "missing_token_rows": 12, + "networks_with_missing_tokens": 1 + }, + "chains": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 13, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 10, + "network": "Optimism", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 13, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 25, + "network": "Cronos", + "hub_stable": "USDT", + "bridge_available": true, + "cw_token_count": 13, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDT", + "cWCADC/USDT", + "cWCHFC/USDT", + "cWEURC/USDT", + "cWEURT/USDT", + "cWGBPC/USDT", + "cWGBPT/USDT", + "cWJPYC/USDT", + "cWXAUC/USDT", + "cWXAUT/USDT" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 56, + "network": "BSC", + "hub_stable": "USDT", + "bridge_available": true, + "cw_token_count": 15, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDT", + "cWCADC/USDT", + "cWCHFC/USDT", + "cWEURC/USDT", + "cWEURT/USDT", + "cWGBPC/USDT", + "cWGBPT/USDT", + "cWJPYC/USDT", + "cWXAUC/USDT", + "cWXAUT/USDT" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 100, + "network": "Gnosis", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 13, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 137, + "network": "Polygon", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 14, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 1111, + "network": "Wemix", + "hub_stable": "USDT", + "bridge_available": false, + "cw_token_count": 1, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 0, + "missing_wave1_pair_count": 10, + "live_wave1_pairs": [], + "missing_wave1_pairs": [ + "cWAUDC/USDT", + "cWCADC/USDT", + "cWCHFC/USDT", + "cWEURC/USDT", + "cWEURT/USDT", + "cWGBPC/USDT", + "cWGBPT/USDT", + "cWJPYC/USDT", + "cWXAUC/USDT", + "cWXAUT/USDT" + ], + "missing_wrapped_tokens": [ + "cWAUDC", + "cWCADC", + "cWCHFC", + "cWEURC", + "cWEURT", + "cWGBPC", + "cWGBPT", + "cWJPYC", + "cWUSDC", + "cWUSDT", + "cWXAUC", + "cWXAUT" + ], + "missing_gas_native_tokens": [], + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 8453, + "network": "Base", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 13, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 13, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 42220, + "network": "Celo", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 15, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "hub_stable": "USDC", + "bridge_available": true, + "cw_token_count": 15, + "planned_wave1_pair_count": 10, + "recorded_live_pair_count": 10, + "missing_wave1_pair_count": 0, + "live_wave1_pairs": [ + "cWAUDC/USDC", + "cWCADC/USDC", + "cWCHFC/USDC", + "cWEURC/USDC", + "cWEURT/USDC", + "cWGBPC/USDC", + "cWGBPT/USDC", + "cWJPYC/USDC", + "cWXAUC/USDC", + "cWXAUT/USDC" + ], + "missing_wave1_pairs": [], + "missing_wrapped_tokens": [], + "missing_gas_native_tokens": [], + "next_step": "verify_and_route" + } + ], + "missing_first_tier_wave1_pools": [ + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWAUDC/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWCADC/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWCHFC/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWEURC/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWEURT/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWGBPC/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWGBPT/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWJPYC/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWXAUC/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + }, + { + "chain_id": 1111, + "network": "Wemix", + "pair": "cWXAUT/USDT", + "hub_stable": "USDT", + "next_step": "deploy_first_tier_wave1_pools" + } + ], + "live_first_tier_wave1_pools": [ + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 1, + "network": "Ethereum Mainnet", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 10, + "network": "Optimism", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWAUDC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCADC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWCHFC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWEURT/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWGBPT/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWJPYC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 25, + "network": "Cronos", + "pair": "cWXAUT/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWAUDC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCADC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWCHFC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWEURT/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWGBPT/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWJPYC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUC/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 56, + "network": "BSC", + "pair": "cWXAUT/USDT", + "hub_stable": "USDT" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 100, + "network": "Gnosis", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 137, + "network": "Polygon", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 8453, + "network": "Base", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42161, + "network": "Arbitrum One", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 42220, + "network": "Celo", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWAUDC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCADC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWCHFC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWEURT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWGBPT/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWJPYC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUC/USDC", + "hub_stable": "USDC" + }, + { + "chain_id": 43114, + "network": "Avalanche C-Chain", + "pair": "cWXAUT/USDC", + "hub_stable": "USDC" + } + ], + "missing_tokens": [ + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWAUDC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWCADC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWCHFC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWEURC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWEURT", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWGBPC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWGBPT", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWJPYC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWUSDC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWUSDT", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWXAUC", + "token_type": "wrapped_wave1" + }, + { + "chain_id": 1111, + "network": "Wemix", + "token": "cWXAUT", + "token_type": "wrapped_wave1" + } + ] +} diff --git a/reports/extraction/leverage-readiness-report-latest.json b/reports/extraction/leverage-readiness-report-latest.json new file mode 100644 index 00000000..f5d73b42 --- /dev/null +++ b/reports/extraction/leverage-readiness-report-latest.json @@ -0,0 +1,32 @@ +{ + "status": "live-read", + "ready": false, + "checks": { + "policy_enabled": false, + "wallet_canonical_usd_ready": false, + "direct_exit_usd_ready": false, + "successful_cycles_ready": false, + "price_deviation_ready": false, + "relays_ready": true + }, + "metrics": { + "wallet_canonical_usd": 0.0, + "direct_exit_usd": 241.963284, + "successful_cycles": 0, + "max_deviation_bps_seen": 7760.68824, + "relay_status": { + "mainnet-cw": "operational", + "mainnet-weth": "operational" + } + }, + "thresholds": { + "turn_on_min_wallet_canonical_usd": 25000.0, + "turn_on_min_direct_exit_usd": 100000.0, + "turn_on_min_successful_cycles": 25, + "turn_on_max_price_deviation_bps": 100.0, + "turn_on_required_relays": [ + "mainnet-cw", + "mainnet-weth" + ] + } +} \ No newline at end of file diff --git a/reports/extraction/liquidity-state-delta-latest.json b/reports/extraction/liquidity-state-delta-latest.json new file mode 100644 index 00000000..a60b84d1 --- /dev/null +++ b/reports/extraction/liquidity-state-delta-latest.json @@ -0,0 +1,78 @@ +{ + "generated_at": "2026-04-16T02:03:39Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "default_target_exit_usd": 100000, + "before": { + "generated_at": "2026-04-16T02:03:35Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "nominal_total_usd": "6872703072.173878751248871214403674", + "immediate_liquid_position_usd": "0", + "internal_same_day_via_lp_withdrawal_usd": "5999999.981979", + "near_immediate_mainnet_cw_exit_usd": "17777520.488172", + "near_term_actionable_usd": "23777520.470151", + "best_mainnet_exit_routes": { + "cWUSDC": { + "route_id": "cwusdc-direct-usdc", + "aggregate_quote_score": "1.9537245730253645333087641666382668762180665215405", + "rank": 1 + }, + "cWUSDT": { + "route_id": "cwusdt-via-cwusdc-to-usdc", + "aggregate_quote_score": "1.9537245730253645333087641666382668762180665215405", + "rank": 2 + } + }, + "gates_closed": { + "lp_signature_confirmed": true, + "lp_direct_call_no_approval_confirmed": true, + "bridge_wiring_read_only_confirmed": true, + "mainnet_exit_dry_run_routes_available": true, + "live_lp_withdrawal_canary_executed": false, + "live_bridge_canary_executed": false, + "live_mainnet_exit_canary_executed": false + } + }, + "direct_exit_capacity_before_usd": "12.00557430", + "direct_exit_capacity_after_quote_only_usd": "40.59448930", + "direct_exit_capacity_after_full_target_usd": "400000", + "projected_immediate_liquid_if_full_target_swept_usd": "400000", + "projected_near_immediate_remaining_after_full_target_swept_usd": "17377520.488172", + "scenarios": [ + { + "pair": "cwusdc-usdc", + "before_direct_exit_capacity_usd": "11.88535765", + "after_quote_only_capacity_usd": "40.15220610", + "after_full_target_capacity_usd": "100000", + "quote_only_add_raw": "565336969", + "full_target_base_add_raw": "1999196955878", + "full_target_quote_add_raw": "1999762292847" + }, + { + "pair": "cwusdt-usdt", + "before_direct_exit_capacity_usd": "0.12021665", + "after_quote_only_capacity_usd": "0.44228320", + "after_full_target_capacity_usd": "100000", + "quote_only_add_raw": "6441331", + "full_target_base_add_raw": "1999991154336", + "full_target_quote_add_raw": "1999997595667" + }, + { + "pair": "cwusdcv2-usdc", + "before_direct_exit_capacity_usd": "0.00", + "after_quote_only_capacity_usd": "0.00", + "after_full_target_capacity_usd": "100000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "2000000000000", + "full_target_quote_add_raw": "2000000000000" + }, + { + "pair": "cwusdtv2-usdt", + "before_direct_exit_capacity_usd": "0.00", + "after_quote_only_capacity_usd": "0.00", + "after_full_target_capacity_usd": "100000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "2000000000000", + "full_target_quote_add_raw": "2000000000000" + } + ] +} diff --git a/reports/extraction/live-bridge-canary-run-latest.json b/reports/extraction/live-bridge-canary-run-latest.json new file mode 100644 index 00000000..ec3592ca --- /dev/null +++ b/reports/extraction/live-bridge-canary-run-latest.json @@ -0,0 +1,50 @@ +{ + "generated_at": "2026-04-16T00:27:03Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "run_type": "bridge-canary", + "target": "cUSDT", + "execute": false, + "status": "dry-run", + "step": { + "symbol": "cUSDT", + "status": "live-read", + "chain138_source_balance_raw": "75000000000", + "dry_run_ok": true, + "dry_run_excerpt": [ + "l1_destination_enabled=True", + "l1_destination_receiver=0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "fee_quote_1_token_wei=1000009600000000", + "mainnet_mirrored_token=0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae" + ], + "source_allowance_raw": "0", + "dry_run_error": null, + "bridge_readiness": { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + }, + "execute_command": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --approve --execute" + }, + "result": { + "command": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "returncode": 0, + "stdout": "=== Generic Chain 138 c* -> cW* send ===\nChain: MAINNET (chainId 1)\nLane: cUSDT\u2192cWUSDT\nSender: 0x4A666F96fC8764181194447A7dFdb7d471b301C8\nRecipient: 0x4A666F96fC8764181194447A7dFdb7d471b301C8\nCanonical token: 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\nMirrored token: 0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\nL1 bridge: 0x152ed3e9912161b76bdfd368d0c84b7c31c10de7\nChain selector: 5009297550715157269\nAmount (human): 1\nAmount (raw): 1000000\nSupported on L1: unavailable\nDestination config: (0x2bF74583206A49Be07E0E8A94197C12987AbD7B5, true)\nSource allowance: 0\nBridge fee: 1000009600000000\nFee token: 0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03\nFee allowance: 99993999942400000000\nMode: dry-run\n\nDry-run commands:\n1. Approve source token\ncast send 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 approve\\(address\\,uint256\\) 0x152ed3e9912161b76bdfd368d0c84b7c31c10de7 1000000 --rpc-url http://192.168.11.211:8545 --private-key \"$PRIVATE_KEY\" --legacy\n3. lockAndSend\ncast send 0x152ed3e9912161b76bdfd368d0c84b7c31c10de7 lockAndSend\\(address\\,uint64\\,address\\,uint256\\) 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 5009297550715157269 0x4A666F96fC8764181194447A7dFdb7d471b301C8 1000000 --rpc-url http://192.168.11.211:8545 --private-key \"$PRIVATE_KEY\" --legacy\n\nRe-run with --execute to broadcast. Add --approve to auto-submit approvals first.\n", + "stderr": "", + "kv": { + "": "== Generic Chain 138 c* -> cW* send ===" + } + } +} diff --git a/reports/extraction/live-end-to-end-corridor-canary-run-latest.json b/reports/extraction/live-end-to-end-corridor-canary-run-latest.json new file mode 100644 index 00000000..444fec56 --- /dev/null +++ b/reports/extraction/live-end-to-end-corridor-canary-run-latest.json @@ -0,0 +1,75 @@ +{ + "generated_at": "2026-04-16T00:28:46Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "run_type": "end-to-end-corridor-canary", + "execute": false, + "stages": [ + { + "stage": "lp-withdrawal", + "command": "direct-readonly-sellShares-preview", + "result": { + "command": "direct-readonly-sellShares-preview", + "returncode": 0, + "stdout": "", + "stderr": "", + "kv": { + "previewBaseOutRaw": "983891196", + "previewQuoteOutRaw": "1016108795" + } + } + }, + { + "stage": "bridge", + "command": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "result": { + "command": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "returncode": 0, + "stdout": "=== Generic Chain 138 c* -> cW* send ===\nChain: MAINNET (chainId 1)\nLane: cUSDT\u2192cWUSDT\nSender: 0x4A666F96fC8764181194447A7dFdb7d471b301C8\nRecipient: 0x4A666F96fC8764181194447A7dFdb7d471b301C8\nCanonical token: 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22\nMirrored token: 0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\nL1 bridge: 0x152ed3e9912161b76bdfd368d0c84b7c31c10de7\nChain selector: 5009297550715157269\nAmount (human): 1\nAmount (raw): 1000000\nSupported on L1: unavailable\nDestination config: (0x2bF74583206A49Be07E0E8A94197C12987AbD7B5, true)\nSource allowance: 0\nBridge fee: 1000009600000000\nFee token: 0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03\nFee allowance: 99993999942400000000\nMode: dry-run\n\nDry-run commands:\n1. Approve source token\ncast send 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 approve\\(address\\,uint256\\) 0x152ed3e9912161b76bdfd368d0c84b7c31c10de7 1000000 --rpc-url http://192.168.11.211:8545 --private-key \"$PRIVATE_KEY\" --legacy\n3. lockAndSend\ncast send 0x152ed3e9912161b76bdfd368d0c84b7c31c10de7 lockAndSend\\(address\\,uint64\\,address\\,uint256\\) 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 5009297550715157269 0x4A666F96fC8764181194447A7dFdb7d471b301C8 1000000 --rpc-url http://192.168.11.211:8545 --private-key \"$PRIVATE_KEY\" --legacy\n\nRe-run with --execute to broadcast. Add --approve to auto-submit approvals first.\n", + "stderr": "", + "kv": { + "": "== Generic Chain 138 c* -> cW* send ===" + } + } + }, + { + "stage": "landing-verification", + "result": { + "status": "dry-run", + "helper_command": "python3 scripts/lib/liquidity_improvement_pack.py landing-check --symbol cUSDT --expected-delta-raw 1000000 --baseline-balance-raw 8888909964479" + } + }, + { + "stage": "mainnet-exit", + "command": "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdt-usdt --direction=base-to-quote --amount=1000000 --min-out=990000 --dry-run", + "result": { + "command": "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdt-usdt --direction=base-to-quote --amount=1000000 --min-out=990000 --dry-run", + "returncode": 0, + "stdout": "pair=cwusdt-usdt\ndirection=base-to-quote\npool=0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC\nintegration=0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84\npoolSurface=partial_dodo_surface_integration_only\nquoteSource=reserve_fallback\nmidPrice=271809216357302289\nlpFeeRate=3\nbaseReserve=8845664\nquoteReserve=2404333\namountIn=1000000\nestimatedOut=244136\nminOut=990000\ntokenIn=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\ntokenOut=0xdAC17F958D2ee523a2206206994597C13D831ec7\ntokenInBalanceBefore=8888909964479\ntokenOutBalanceBefore=340504\nallowanceBefore=115792089237316195423570985008687907853269984665640564039457584007913129639935\napprovalRequired=0\ndryRun=1\n", + "stderr": "", + "kv": { + "pair": "cwusdt-usdt", + "direction": "base-to-quote", + "pool": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "integration": "0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84", + "poolSurface": "partial_dodo_surface_integration_only", + "quoteSource": "reserve_fallback", + "midPrice": "271809216357302289", + "lpFeeRate": "3", + "baseReserve": "8845664", + "quoteReserve": "2404333", + "amountIn": "1000000", + "estimatedOut": "244136", + "minOut": "990000", + "tokenIn": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "tokenOut": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "tokenInBalanceBefore": "8888909964479", + "tokenOutBalanceBefore": "340504", + "allowanceBefore": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "approvalRequired": "0", + "dryRun": "1" + } + } + } + ], + "status": "dry-run" +} diff --git a/reports/extraction/live-lp-withdrawal-canary-run-latest.json b/reports/extraction/live-lp-withdrawal-canary-run-latest.json new file mode 100644 index 00000000..2ab33376 --- /dev/null +++ b/reports/extraction/live-lp-withdrawal-canary-run-latest.json @@ -0,0 +1,35 @@ +{ + "generated_at": "2026-04-16T00:28:39Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "run_type": "lp-withdrawal-canary", + "target": "cUSDT/cUSDC", + "execute": false, + "status": "dry-run", + "step": { + "pair": "cUSDT/cUSDC", + "pool_address": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "status": "live-read", + "canary_share_amount_raw": "999999996", + "preview_base_out_raw": "983891196", + "preview_quote_out_raw": "1016108795", + "base_min_amount_raw": "974052284", + "quote_min_amount_raw": "1005947707", + "deadline_unix": 1776302919, + "dry_run_command": "cast call 0x9e89bAe009adf128782E19e8341996c596ac40dC \"sellShares(uint256,address,uint256,uint256,bytes,uint256)(uint256,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 974052284 1005947707 0x 1776302919 --from 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --rpc-url \"$RPC_URL_138\"", + "execute_command": "cast send 0x9e89bAe009adf128782E19e8341996c596ac40dC \"sellShares(uint256,address,uint256,uint256,bytes,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 974052284 1005947707 0x 1776302919 --rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy", + "notes": [ + "Direct owner call does not require LP approval.", + "This canary is intentionally tiny and should be run only in a separate operator-approved mutation workflow." + ] + }, + "result": { + "command": "direct-readonly-sellShares-preview", + "returncode": 0, + "stdout": "", + "stderr": "", + "kv": { + "previewBaseOutRaw": "983891196", + "previewQuoteOutRaw": "1016108795" + } + } +} diff --git a/reports/extraction/live-mainnet-exit-canary-run-latest.json b/reports/extraction/live-mainnet-exit-canary-run-latest.json new file mode 100644 index 00000000..1ff68a5e --- /dev/null +++ b/reports/extraction/live-mainnet-exit-canary-run-latest.json @@ -0,0 +1,56 @@ +{ + "generated_at": "2026-04-16T00:27:10Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "run_type": "mainnet-exit-canary", + "target": "cWUSDT", + "execute": false, + "status": "dry-run", + "step": { + "symbol": "cWUSDT", + "pair": "cwusdt-usdt", + "target_asset": "USDT", + "status": "manual-required", + "dry_run_ok": true, + "amount_in_raw": "1000000", + "estimated_out_raw": "1000000", + "min_out_raw": "990000", + "pool_surface": "reserve-heuristic", + "quote_source": "live-getVaultReserve", + "slippage_estimate_pct": null, + "supporting_surface": { + "pool_address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "status": "manual-required", + "reason": "Could not read getVaultReserve()" + }, + "execute_command": "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdt-usdt --direction=base-to-quote --amount=1000000", + "dry_run_error": null + }, + "result": { + "command": "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdt-usdt --direction=base-to-quote --amount=1000000 --min-out=990000 --dry-run", + "returncode": 0, + "stdout": "pair=cwusdt-usdt\ndirection=base-to-quote\npool=0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC\nintegration=0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84\npoolSurface=partial_dodo_surface_integration_only\nquoteSource=reserve_fallback\nmidPrice=271809216357302289\nlpFeeRate=3\nbaseReserve=8845664\nquoteReserve=2404333\namountIn=1000000\nestimatedOut=244136\nminOut=990000\ntokenIn=0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE\ntokenOut=0xdAC17F958D2ee523a2206206994597C13D831ec7\ntokenInBalanceBefore=8888909964479\ntokenOutBalanceBefore=340504\nallowanceBefore=115792089237316195423570985008687907853269984665640564039457584007913129639935\napprovalRequired=0\ndryRun=1\n", + "stderr": "", + "kv": { + "pair": "cwusdt-usdt", + "direction": "base-to-quote", + "pool": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "integration": "0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84", + "poolSurface": "partial_dodo_surface_integration_only", + "quoteSource": "reserve_fallback", + "midPrice": "271809216357302289", + "lpFeeRate": "3", + "baseReserve": "8845664", + "quoteReserve": "2404333", + "amountIn": "1000000", + "estimatedOut": "244136", + "minOut": "990000", + "tokenIn": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "tokenOut": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "tokenInBalanceBefore": "8888909964479", + "tokenOutBalanceBefore": "340504", + "allowanceBefore": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "approvalRequired": "0", + "dryRun": "1" + } + } +} diff --git a/reports/extraction/lp-tranche-sizing-latest.json b/reports/extraction/lp-tranche-sizing-latest.json new file mode 100644 index 00000000..9eeb6bc9 --- /dev/null +++ b/reports/extraction/lp-tranche-sizing-latest.json @@ -0,0 +1,166 @@ +{ + "generated_at": "2026-04-16T02:03:42Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "thresholds": { + "default_slippage_bps": 100, + "test_share_divisor": 1000, + "deadline_seconds": 3600, + "tranche_percentages": [ + 1, + 5, + 10, + 25, + 50, + 100 + ] + }, + "pools": [ + { + "pair": "cUSDT/cUSDC", + "pool_address": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "status": "simulated", + "tranches": [ + { + "percentage": 1, + "lp_tokens_to_burn_raw": "9999999970", + "expected_base_out_human": "9838.911970", + "expected_quote_out_human": "10161.087970", + "status": "simulated" + }, + { + "percentage": 5, + "lp_tokens_to_burn_raw": "49999999850", + "expected_base_out_human": "49194.559851", + "expected_quote_out_human": "50805.439849", + "status": "simulated" + }, + { + "percentage": 10, + "lp_tokens_to_burn_raw": "99999999700", + "expected_base_out_human": "98389.119701", + "expected_quote_out_human": "101610.879698", + "status": "simulated" + }, + { + "percentage": 25, + "lp_tokens_to_burn_raw": "249999999249", + "expected_base_out_human": "245972.799253", + "expected_quote_out_human": "254027.199245", + "status": "simulated" + }, + { + "percentage": 50, + "lp_tokens_to_burn_raw": "499999998498", + "expected_base_out_human": "491945.598506", + "expected_quote_out_human": "508054.398490", + "status": "simulated" + }, + { + "percentage": 100, + "lp_tokens_to_burn_raw": "999999996997", + "expected_base_out_human": "983891.197013", + "expected_quote_out_human": "1016108.796980", + "status": "simulated" + } + ] + }, + { + "pair": "cUSDT/USDT", + "pool_address": "0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66", + "status": "simulated", + "tranches": [ + { + "percentage": 1, + "lp_tokens_to_burn_raw": "9999999970", + "expected_base_out_human": "9998.724970", + "expected_quote_out_human": "10001.274970", + "status": "simulated" + }, + { + "percentage": 5, + "lp_tokens_to_burn_raw": "49999999850", + "expected_base_out_human": "49993.624850", + "expected_quote_out_human": "50006.374850", + "status": "simulated" + }, + { + "percentage": 10, + "lp_tokens_to_burn_raw": "99999999700", + "expected_base_out_human": "99987.249700", + "expected_quote_out_human": "100012.749700", + "status": "simulated" + }, + { + "percentage": 25, + "lp_tokens_to_burn_raw": "249999999249", + "expected_base_out_human": "249968.124249", + "expected_quote_out_human": "250031.874249", + "status": "simulated" + }, + { + "percentage": 50, + "lp_tokens_to_burn_raw": "499999998498", + "expected_base_out_human": "499936.248498", + "expected_quote_out_human": "500063.748498", + "status": "simulated" + }, + { + "percentage": 100, + "lp_tokens_to_burn_raw": "999999996997", + "expected_base_out_human": "999872.496997", + "expected_quote_out_human": "1000127.496996", + "status": "simulated" + } + ] + }, + { + "pair": "cUSDC/USDC", + "pool_address": "0xc39B7D0F40838cbFb54649d327f49a6DAC964062", + "status": "simulated", + "tranches": [ + { + "percentage": 1, + "lp_tokens_to_burn_raw": "9999999970", + "expected_base_out_human": "10104.629970", + "expected_quote_out_human": "9895.369970", + "status": "simulated" + }, + { + "percentage": 5, + "lp_tokens_to_burn_raw": "49999999850", + "expected_base_out_human": "50523.149849", + "expected_quote_out_human": "49476.849850", + "status": "simulated" + }, + { + "percentage": 10, + "lp_tokens_to_burn_raw": "99999999700", + "expected_base_out_human": "101046.299699", + "expected_quote_out_human": "98953.699701", + "status": "simulated" + }, + { + "percentage": 25, + "lp_tokens_to_burn_raw": "249999999249", + "expected_base_out_human": "252615.749246", + "expected_quote_out_human": "247384.249252", + "status": "simulated" + }, + { + "percentage": 50, + "lp_tokens_to_burn_raw": "499999998498", + "expected_base_out_human": "505231.498493", + "expected_quote_out_human": "494768.498504", + "status": "simulated" + }, + { + "percentage": 100, + "lp_tokens_to_burn_raw": "999999996997", + "expected_base_out_human": "1010462.996986", + "expected_quote_out_human": "989536.997007", + "status": "simulated" + } + ] + } + ] +} diff --git a/reports/extraction/lp-withdrawal-canary-plan-latest.json b/reports/extraction/lp-withdrawal-canary-plan-latest.json new file mode 100644 index 00000000..147e2359 --- /dev/null +++ b/reports/extraction/lp-withdrawal-canary-plan-latest.json @@ -0,0 +1,76 @@ +{ + "generated_at": "2026-04-16T02:03:08Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "thresholds": { + "default_slippage_bps": 100, + "test_share_divisor": 1000, + "deadline_seconds": 3600, + "tranche_percentages": [ + 1, + 5, + 10, + 25, + 50, + 100 + ] + }, + "pools": [ + { + "pair": "cUSDT/cUSDC", + "pool_address": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "status": "live-read", + "canary_share_amount_raw": "999999996", + "preview_base_out_raw": "983891196", + "preview_quote_out_raw": "1016108795", + "base_min_amount_raw": "974052284", + "quote_min_amount_raw": "1005947707", + "deadline_unix": 1776308588, + "dry_run_command": "cast call 0x9e89bAe009adf128782E19e8341996c596ac40dC \"sellShares(uint256,address,uint256,uint256,bytes,uint256)(uint256,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 974052284 1005947707 0x 1776308588 --from 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --rpc-url \"$RPC_URL_138\"", + "execute_command": "cast send 0x9e89bAe009adf128782E19e8341996c596ac40dC \"sellShares(uint256,address,uint256,uint256,bytes,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 974052284 1005947707 0x 1776308588 --rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy", + "notes": [ + "Direct owner call does not require LP approval.", + "This canary is intentionally tiny and should be run only in a separate operator-approved mutation workflow." + ] + }, + { + "pair": "cUSDT/USDT", + "pool_address": "0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66", + "status": "live-read", + "canary_share_amount_raw": "999999996", + "preview_base_out_raw": "999872496", + "preview_quote_out_raw": "1000127495", + "base_min_amount_raw": "989873771", + "quote_min_amount_raw": "990126220", + "deadline_unix": 1776308588, + "dry_run_command": "cast call 0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66 \"sellShares(uint256,address,uint256,uint256,bytes,uint256)(uint256,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 989873771 990126220 0x 1776308588 --from 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --rpc-url \"$RPC_URL_138\"", + "execute_command": "cast send 0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66 \"sellShares(uint256,address,uint256,uint256,bytes,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 989873771 990126220 0x 1776308588 --rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy", + "notes": [ + "Direct owner call does not require LP approval.", + "This canary is intentionally tiny and should be run only in a separate operator-approved mutation workflow." + ] + }, + { + "pair": "cUSDC/USDC", + "pool_address": "0xc39B7D0F40838cbFb54649d327f49a6DAC964062", + "status": "live-read", + "canary_share_amount_raw": "999999996", + "preview_base_out_raw": "1010462995", + "preview_quote_out_raw": "989536996", + "base_min_amount_raw": "1000358365", + "quote_min_amount_raw": "979641626", + "deadline_unix": 1776308588, + "dry_run_command": "cast call 0xc39B7D0F40838cbFb54649d327f49a6DAC964062 \"sellShares(uint256,address,uint256,uint256,bytes,uint256)(uint256,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 1000358365 979641626 0x 1776308588 --from 0x4A666F96fC8764181194447A7dFdb7d471b301C8 --rpc-url \"$RPC_URL_138\"", + "execute_command": "cast send 0xc39B7D0F40838cbFb54649d327f49a6DAC964062 \"sellShares(uint256,address,uint256,uint256,bytes,uint256)\" 999999996 0x4A666F96fC8764181194447A7dFdb7d471b301C8 1000358365 979641626 0x 1776308588 --rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy", + "notes": [ + "Direct owner call does not require LP approval.", + "This canary is intentionally tiny and should be run only in a separate operator-approved mutation workflow." + ] + } + ] +} diff --git a/reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json b/reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json new file mode 100644 index 00000000..195a027c --- /dev/null +++ b/reports/extraction/mainnet-cw-stable-coexistence-inventory-latest.json @@ -0,0 +1,355 @@ +{ + "generated_at": "2026-04-16T01:39:45Z", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "network": "Ethereum Mainnet", + "l2_bridge_mainnet": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "coexistence_summary": { + "status": "live-read", + "coexistence_on_same_mirrored_lanes_possible": false, + "root_cause": "CWMultiTokenBridgeL2.configureTokenPair(canonical, mirrored) clears the previous canonical mapping for that mirrored token.", + "code_reference": "smom-dbis-138/contracts/bridge/CWMultiTokenBridgeL2.sol:88", + "required_fix": "deploy_distinct_v2_mirrored_tokens_and_recreate_impacted_pools", + "bridge_layer_fixed": true, + "pool_layer_fixed": true, + "true_coexistence_live": true + }, + "legacy_mirrored_tokens": { + "cWUSDT": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "cWUSDC": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a" + }, + "v1_bridge_pairs": { + "cUSDT_V1": { + "symbol": "cUSDT_V1", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "mainnet_mirrored_token": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "dry_run_probe": { + "label": "cUSDT_V1", + "canonicalToken": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + }, + "cUSDC_V1": { + "symbol": "cUSDC_V1", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "mainnet_mirrored_token": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "dry_run_probe": { + "label": "cUSDC_V1", + "canonicalToken": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + } + } + }, + "v2_bridge_pairs": { + "cUSDC_V2": { + "symbol": "cUSDC_V2", + "canonical_token": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "mirrored_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "current_chain138_balance_raw": "75000000000", + "operator_roles": { + "defaultAdmin": true, + "minter": true, + "burner": true, + "pauser": true, + "bridge": true, + "governance": true, + "jurisdictionAdmin": true, + "regulator": true, + "supervisor": true, + "emergencyAdmin": true, + "supplyAdmin": true, + "metadataAdmin": true + }, + "dry_run_probe": { + "label": "cUSDC_V2", + "canonicalToken": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + "configure_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDC_V2", + "execute_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDC_V2 --execute" + }, + "cUSDT_V2": { + "symbol": "cUSDT_V2", + "canonical_token": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "mirrored_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "status": "live-read", + "corridor_ready": true, + "l1_destination_wired": true, + "l2_token_pair_configured": true, + "l1_fee_quote_ok": true, + "current_chain138_balance_raw": "75000000000", + "operator_roles": { + "defaultAdmin": true, + "minter": true, + "burner": true, + "pauser": true, + "bridge": true, + "governance": true, + "jurisdictionAdmin": true, + "regulator": true, + "supervisor": true, + "emergencyAdmin": true, + "supplyAdmin": true, + "metadataAdmin": true + }, + "dry_run_probe": { + "label": "cUSDT_V2", + "canonicalToken": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "l1ReceiverBridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "l1DestinationEnabled": true, + "l1FeeSampleWei": "1000009600000000", + "mainnetMirroredToken": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "l1DestinationWired": true, + "l2TokenPairConfigured": true, + "l1FeeQuoteOk": true, + "corridorReady": true + }, + "configure_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDT_V2", + "execute_pair_command": "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --asset cUSDT_V2 --execute" + } + }, + "v2_mirrored_tokens": { + "cWUSDT_V2": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "cWUSDC_V2": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c" + }, + "anchor_tokens": { + "USDC": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "USDT": "0xdAC17F958D2ee523a2206206994597C13D831ec7" + }, + "existing_pools_to_wire": { + "direct_exit_usdc_usdt": [ + { + "pair": "cWUSDC/USDC", + "base_symbol": "cWUSDC", + "quote_symbol": "USDC", + "pool_address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "fee_bps": 3, + "k": 0, + "role": "public_routing", + "public_routing_enabled": true, + "category": "direct_exit", + "shared_lane_impacted": true, + "current_mirrored_lane_owner": "V2 cutover active", + "coexistence_action": "recreate_on_distinct_v2_mirror", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "803044122", + "quote_reserve_raw": "237707153", + "base_reserve_human_6dp": "803.044122", + "quote_reserve_human_6dp": "237.707153" + } + }, + { + "pair": "cWUSDT/USDT", + "base_symbol": "cWUSDT", + "quote_symbol": "USDT", + "pool_address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "fee_bps": 3, + "k": 0, + "role": "public_routing", + "public_routing_enabled": true, + "category": "direct_exit", + "shared_lane_impacted": true, + "current_mirrored_lane_owner": "V2 cutover active", + "coexistence_action": "recreate_on_distinct_v2_mirror", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "8845664", + "quote_reserve_raw": "2404333", + "base_reserve_human_6dp": "8.845664", + "quote_reserve_human_6dp": "2.404333" + } + } + ], + "secondary_usdc_usdt": [ + { + "pair": "cWUSDT/USDC", + "base_symbol": "cWUSDT", + "quote_symbol": "USDC", + "pool_address": "0x27f3aE7EE71Be3d77bAf17d4435cF8B895DD25D2", + "fee_bps": 3, + "k": 0, + "role": "public_routing", + "public_routing_enabled": true, + "category": "secondary_exit", + "shared_lane_impacted": true, + "current_mirrored_lane_owner": "V2 cutover active", + "coexistence_action": "recreate_on_distinct_v2_mirror", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "9095629", + "quote_reserve_raw": "2342047", + "base_reserve_human_6dp": "9.095629", + "quote_reserve_human_6dp": "2.342047" + } + }, + { + "pair": "cWUSDC/USDT", + "base_symbol": "cWUSDC", + "quote_symbol": "USDT", + "pool_address": "0xCC0fd27A40775c9AfcD2BBd3f7c902b0192c247A", + "fee_bps": 3, + "k": 0, + "role": "public_routing", + "public_routing_enabled": true, + "category": "secondary_exit", + "shared_lane_impacted": true, + "current_mirrored_lane_owner": "V2 cutover active", + "coexistence_action": "recreate_on_distinct_v2_mirror", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "8416870", + "quote_reserve_raw": "2792440", + "base_reserve_human_6dp": "8.416870", + "quote_reserve_human_6dp": "2.792440" + } + } + ], + "cross_cw_support": [ + { + "pair": "cWUSDT/cWUSDC", + "base_symbol": "cWUSDT", + "quote_symbol": "cWUSDC", + "pool_address": "0xe944b7Cb012A0820c07f54D51e92f0e1C74168DB", + "fee_bps": 3, + "k": 0, + "role": "public_routing", + "public_routing_enabled": true, + "category": "cross_cw", + "shared_lane_impacted": true, + "current_mirrored_lane_owner": "V2 cutover active", + "coexistence_action": "recreate_on_distinct_v2_mirror", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "1099960256630", + "quote_reserve_raw": "1100039756747", + "base_reserve_human_6dp": "1099960.256630", + "quote_reserve_human_6dp": "1100039.756747" + } + } + ], + "all_impacted_pool_count": 5 + }, + "required_new_v2_pool_set_for_true_coexistence": [ + { + "pair": "cWUSDC_V2/USDC", + "purpose": "primary_direct_exit", + "base_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "quote_token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "status": "live-read", + "exists": true, + "pool_address": "0xf633D2617316096e876E9C693111B8e76CE95302", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "0", + "quote_reserve_raw": "0", + "base_reserve_human_6dp": "0.000000", + "quote_reserve_human_6dp": "0.000000" + } + }, + { + "pair": "cWUSDT_V2/USDT", + "purpose": "primary_direct_exit", + "base_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "quote_token": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "status": "live-read", + "exists": true, + "pool_address": "0x983D9ac22967209821C908e95FeACC37baA6fECA", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "0", + "quote_reserve_raw": "0", + "base_reserve_human_6dp": "0.000000", + "quote_reserve_human_6dp": "0.000000" + } + }, + { + "pair": "cWUSDT_V2/USDC", + "purpose": "secondary_cross_quote", + "base_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "quote_token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "status": "live-read", + "exists": true, + "pool_address": "0x55F137b28af87B165423a68Ebb3D42699556E9Af", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "0", + "quote_reserve_raw": "0", + "base_reserve_human_6dp": "0.000000", + "quote_reserve_human_6dp": "0.000000" + } + }, + { + "pair": "cWUSDC_V2/USDT", + "purpose": "secondary_cross_quote", + "base_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "quote_token": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "status": "live-read", + "exists": true, + "pool_address": "0xCdb7392238ED11EcB57C5C001c62302b00062Af8", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "0", + "quote_reserve_raw": "0", + "base_reserve_human_6dp": "0.000000", + "quote_reserve_human_6dp": "0.000000" + } + }, + { + "pair": "cWUSDT_V2/cWUSDC_V2", + "purpose": "internal_cross_cw_routing", + "base_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "quote_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "status": "live-read", + "exists": true, + "pool_address": "0x75de278142F153Ac47646a7bb7Ded3317a3bDBE7", + "live_surface": { + "status": "live-read", + "base_reserve_raw": "0", + "quote_reserve_raw": "0", + "base_reserve_human_6dp": "0.000000", + "quote_reserve_human_6dp": "0.000000" + } + } + ] +} diff --git a/reports/extraction/mainnet-exit-canary-plan-latest.json b/reports/extraction/mainnet-exit-canary-plan-latest.json new file mode 100644 index 00000000..da8e5fae --- /dev/null +++ b/reports/extraction/mainnet-exit-canary-plan-latest.json @@ -0,0 +1,65 @@ +{ + "generated_at": "2026-04-16T02:03:21Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "thresholds": { + "raw_sizes": [ + 1000000, + 10000000 + ], + "default_slippage_bps": 100 + }, + "routes": [ + { + "symbol": "cWUSDC", + "pair": "cwusdc-usdc", + "target_asset": "USDC", + "status": "simulated", + "dry_run_ok": true, + "amount_in_raw": "1000000", + "estimated_out_raw": "1000000", + "min_out_raw": "990000", + "pool_surface": "reserve-heuristic", + "quote_source": "live-getVaultReserve", + "slippage_estimate_pct": "0.42", + "supporting_surface": { + "pool_address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "status": "live-read", + "base_symbol": "cWUSDC", + "quote_symbol": "USDC", + "base_reserve": "803.044122", + "quote_reserve": "237.707153", + "base_reserve_usd": "803.044122", + "quote_reserve_usd": "237.707153", + "usable_side_usd": "237.707153" + }, + "execute_command": "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdc-usdc --direction=base-to-quote --amount=1000000", + "dry_run_error": null + }, + { + "symbol": "cWUSDT", + "pair": "cwusdt-usdt", + "target_asset": "USDT", + "status": "simulated", + "dry_run_ok": true, + "amount_in_raw": "1000000", + "estimated_out_raw": "1000000", + "min_out_raw": "990000", + "pool_surface": "reserve-heuristic", + "quote_source": "live-getVaultReserve", + "slippage_estimate_pct": "41.59", + "supporting_surface": { + "pool_address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "status": "live-read", + "base_symbol": "cWUSDT", + "quote_symbol": "USDT", + "base_reserve": "8.845664", + "quote_reserve": "2.404333", + "base_reserve_usd": "8.845664", + "quote_reserve_usd": "2.404333", + "usable_side_usd": "2.404333" + }, + "execute_command": "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdt-usdt --direction=base-to-quote --amount=1000000", + "dry_run_error": null + } + ] +} diff --git a/reports/extraction/mainnet-exit-pool-ranking-latest.json b/reports/extraction/mainnet-exit-pool-ranking-latest.json new file mode 100644 index 00000000..7bf0ffb7 --- /dev/null +++ b/reports/extraction/mainnet-exit-pool-ranking-latest.json @@ -0,0 +1,137 @@ +{ + "generated_at": "2026-04-16T02:03:43Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "thresholds": { + "raw_sizes": [ + 1000000, + 10000000 + ], + "default_slippage_bps": 100 + }, + "routes": [ + { + "route_id": "cwusdc-direct-usdc", + "source_symbol": "cWUSDC", + "target_symbol": "USDC", + "complexity_score": 1, + "aggregate_quote_score": "1.9537245730253645333087641666382668762180665215405", + "supporting_surface": { + "pool_address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "status": "live-read", + "base_symbol": "cWUSDC", + "quote_symbol": "USDC", + "base_reserve": "803.044122", + "quote_reserve": "237.707153", + "base_reserve_usd": "803.044122", + "quote_reserve_usd": "237.707153", + "usable_side_usd": "237.707153" + }, + "tests": [ + { + "amount_in_raw": "1000000", + "amount_in_usd": "1", + "status": "simulated", + "usable_side_usd": "237.707153", + "slippage_estimate_pct": "0.42", + "ok": true + }, + { + "amount_in_raw": "10000000", + "amount_in_usd": "10", + "status": "simulated", + "usable_side_usd": "237.707153", + "slippage_estimate_pct": "4.21", + "ok": true + } + ], + "rank": 1 + }, + { + "route_id": "cwusdt-via-cwusdc-to-usdc", + "source_symbol": "cWUSDT", + "target_symbol": "USDC", + "complexity_score": 2, + "aggregate_quote_score": "1.9537245730253645333087641666382668762180665215405", + "supporting_surface": { + "leg_1": { + "pool_address": "0xe944b7Cb012A0820c07f54D51e92f0e1C74168DB", + "status": "live-read", + "base_symbol": "cWUSDT", + "quote_symbol": "cWUSDC", + "base_reserve": "1099960.25663", + "quote_reserve": "1100039.756747", + "base_reserve_usd": "1099960.25663", + "quote_reserve_usd": "1100039.756747", + "usable_side_usd": "1099960.25663" + }, + "leg_2": { + "pool_address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "status": "live-read", + "base_symbol": "cWUSDC", + "quote_symbol": "USDC", + "base_reserve": "803.044122", + "quote_reserve": "237.707153", + "base_reserve_usd": "803.044122", + "quote_reserve_usd": "237.707153", + "usable_side_usd": "237.707153" + } + }, + "tests": [ + { + "amount_in_raw": "1000000", + "amount_in_usd": "1", + "status": "simulated", + "usable_side_usd": "237.707153", + "slippage_estimate_pct": "0.42", + "ok": true + }, + { + "amount_in_raw": "10000000", + "amount_in_usd": "10", + "status": "simulated", + "usable_side_usd": "237.707153", + "slippage_estimate_pct": "4.21", + "ok": true + } + ], + "rank": 2 + }, + { + "route_id": "cwusdt-direct-usdt", + "source_symbol": "cWUSDT", + "target_symbol": "USDT", + "complexity_score": 1, + "aggregate_quote_score": "0.58408423458813733372207593540495430541443302570817", + "supporting_surface": { + "pool_address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "status": "live-read", + "base_symbol": "cWUSDT", + "quote_symbol": "USDT", + "base_reserve": "8.845664", + "quote_reserve": "2.404333", + "base_reserve_usd": "8.845664", + "quote_reserve_usd": "2.404333", + "usable_side_usd": "2.404333" + }, + "tests": [ + { + "amount_in_raw": "1000000", + "amount_in_usd": "1", + "status": "manual-required", + "usable_side_usd": "2.404333", + "slippage_estimate_pct": "41.59", + "ok": false + }, + { + "amount_in_raw": "10000000", + "amount_in_usd": "10", + "status": "manual-required", + "usable_side_usd": "2.404333", + "slippage_estimate_pct": "415.92", + "ok": false + } + ], + "rank": 3 + } + ] +} diff --git a/reports/extraction/mainnet-landing-verification-plan-latest.json b/reports/extraction/mainnet-landing-verification-plan-latest.json new file mode 100644 index 00000000..b16fefc5 --- /dev/null +++ b/reports/extraction/mainnet-landing-verification-plan-latest.json @@ -0,0 +1,40 @@ +{ + "generated_at": "2026-04-16T02:03:20Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "assets": [ + { + "symbol": "cUSDT", + "mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "status": "live-read", + "baseline_balance_raw": "8888909964479", + "expected_delta_raw": "1000000", + "poll_interval_seconds": 15, + "timeout_seconds": 900, + "verification_rule": "pass when current_balance_raw - baseline_balance_raw >= expected_delta_raw", + "notes": [ + "Capture baseline before broadcasting the bridge canary.", + "Poll on Mainnet until the mirrored token balance delta meets or exceeds expected_delta_raw.", + "If no delta arrives before timeout, treat the corridor as operator-investigation required." + ], + "helper_command": "python3 scripts/lib/liquidity_improvement_pack.py landing-check --symbol cUSDT --expected-delta-raw 1000000 --baseline-balance-raw 8888909964479", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5" + }, + { + "symbol": "cUSDC", + "mirrored_token": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a", + "status": "live-read", + "baseline_balance_raw": "8888610523693", + "expected_delta_raw": "1000000", + "poll_interval_seconds": 15, + "timeout_seconds": 900, + "verification_rule": "pass when current_balance_raw - baseline_balance_raw >= expected_delta_raw", + "notes": [ + "Capture baseline before broadcasting the bridge canary.", + "Poll on Mainnet until the mirrored token balance delta meets or exceeds expected_delta_raw.", + "If no delta arrives before timeout, treat the corridor as operator-investigation required." + ], + "helper_command": "python3 scripts/lib/liquidity_improvement_pack.py landing-check --symbol cUSDC --expected-delta-raw 1000000 --baseline-balance-raw 8888610523693", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5" + } + ] +} diff --git a/reports/extraction/mainnet-quote-side-funding-plan-latest.json b/reports/extraction/mainnet-quote-side-funding-plan-latest.json new file mode 100644 index 00000000..e6b2cf74 --- /dev/null +++ b/reports/extraction/mainnet-quote-side-funding-plan-latest.json @@ -0,0 +1,323 @@ +{ + "generated_at": "2026-04-16T02:03:16Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "thresholds": { + "generated_at": "2026-04-16T02:03:12Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "direct_exit_support_fraction": "0.05", + "target_exit_usd": [ + 25000, + 100000, + 250000, + 1000000 + ], + "default_target_exit_usd": 100000, + "default_sweep_raw": 1000000, + "sweep_slippage_bps": 100, + "notes": [ + "Target exit USD is translated into required usable-side reserves under the 5% direct-exit heuristic.", + "All deployment wrappers are dry-run by default and require an explicit --execute flag for mutations." + ] + }, + "pools": [ + { + "pair": "cwusdc-usdc", + "pool_address": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "source_symbol": "cWUSDC", + "source_token": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "quote_symbol": "USDC", + "quote_token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "v2_symbol": "cUSDC_V2", + "v2_token": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "base_reserve_raw": "803044122", + "quote_reserve_raw": "237707153", + "usable_side_raw": "237707153", + "current_direct_exit_capacity_usd": "11.88535765", + "wallet_source_balance_raw": "8888610523693", + "wallet_quote_balance_raw": "0", + "status": "live-read", + "dry_run_surface": { + "returncode": 0, + "pool_surface": "reserve_only", + "quote_source": "onchain_reserve" + }, + "target_table": [ + { + "target_exit_usd": 25000, + "required_usable_side_raw": "500000000000", + "quote_only_add_raw": "565336969", + "full_target_base_add_raw": "499196955878", + "full_target_quote_add_raw": "499762292847", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "40.15220610", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=quote-only --target-usd=25000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=full-target --target-usd=25000" + }, + { + "target_exit_usd": 100000, + "required_usable_side_raw": "2000000000000", + "quote_only_add_raw": "565336969", + "full_target_base_add_raw": "1999196955878", + "full_target_quote_add_raw": "1999762292847", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "40.15220610", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=quote-only --target-usd=100000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=full-target --target-usd=100000" + }, + { + "target_exit_usd": 250000, + "required_usable_side_raw": "5000000000000", + "quote_only_add_raw": "565336969", + "full_target_base_add_raw": "4999196955878", + "full_target_quote_add_raw": "4999762292847", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "40.15220610", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=quote-only --target-usd=250000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=full-target --target-usd=250000" + }, + { + "target_exit_usd": 1000000, + "required_usable_side_raw": "20000000000000", + "quote_only_add_raw": "565336969", + "full_target_base_add_raw": "19999196955878", + "full_target_quote_add_raw": "19999762292847", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "40.15220610", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=quote-only --target-usd=1000000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=full-target --target-usd=1000000" + } + ], + "recommended_next_quote_only_target_usd": 25000 + }, + { + "pair": "cwusdt-usdt", + "pool_address": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "source_symbol": "cWUSDT", + "source_token": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "quote_symbol": "USDT", + "quote_token": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "v2_symbol": "cUSDT_V2", + "v2_token": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "base_reserve_raw": "8845664", + "quote_reserve_raw": "2404333", + "usable_side_raw": "2404333", + "current_direct_exit_capacity_usd": "0.12021665", + "wallet_source_balance_raw": "8888909964479", + "wallet_quote_balance_raw": "340504", + "status": "live-read", + "dry_run_surface": { + "returncode": 0, + "pool_surface": "reserve_only", + "quote_source": "onchain_reserve" + }, + "target_table": [ + { + "target_exit_usd": 25000, + "required_usable_side_raw": "500000000000", + "quote_only_add_raw": "6441331", + "full_target_base_add_raw": "499991154336", + "full_target_quote_add_raw": "499997595667", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.44228320", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=quote-only --target-usd=25000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=full-target --target-usd=25000" + }, + { + "target_exit_usd": 100000, + "required_usable_side_raw": "2000000000000", + "quote_only_add_raw": "6441331", + "full_target_base_add_raw": "1999991154336", + "full_target_quote_add_raw": "1999997595667", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.44228320", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=quote-only --target-usd=100000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=full-target --target-usd=100000" + }, + { + "target_exit_usd": 250000, + "required_usable_side_raw": "5000000000000", + "quote_only_add_raw": "6441331", + "full_target_base_add_raw": "4999991154336", + "full_target_quote_add_raw": "4999997595667", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.44228320", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=quote-only --target-usd=250000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=full-target --target-usd=250000" + }, + { + "target_exit_usd": 1000000, + "required_usable_side_raw": "20000000000000", + "quote_only_add_raw": "6441331", + "full_target_base_add_raw": "19999991154336", + "full_target_quote_add_raw": "19999997595667", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.44228320", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=quote-only --target-usd=1000000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdt-usdt --mode=full-target --target-usd=1000000" + } + ], + "recommended_next_quote_only_target_usd": 25000 + }, + { + "pair": "cwusdcv2-usdc", + "pool_address": "0xf633D2617316096e876E9C693111B8e76CE95302", + "source_symbol": "cWUSDC_V2", + "source_token": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "quote_symbol": "USDC", + "quote_token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "v2_symbol": "cUSDC_V2", + "v2_token": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "base_reserve_raw": "0", + "quote_reserve_raw": "0", + "usable_side_raw": "0", + "current_direct_exit_capacity_usd": "0.00", + "wallet_source_balance_raw": "0", + "wallet_quote_balance_raw": "0", + "status": "live-read", + "dry_run_surface": { + "returncode": 0, + "pool_surface": "reserve_only", + "quote_source": "onchain_reserve" + }, + "target_table": [ + { + "target_exit_usd": 25000, + "required_usable_side_raw": "500000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "500000000000", + "full_target_quote_add_raw": "500000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=quote-only --target-usd=25000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=full-target --target-usd=25000" + }, + { + "target_exit_usd": 100000, + "required_usable_side_raw": "2000000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "2000000000000", + "full_target_quote_add_raw": "2000000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=quote-only --target-usd=100000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=full-target --target-usd=100000" + }, + { + "target_exit_usd": 250000, + "required_usable_side_raw": "5000000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "5000000000000", + "full_target_quote_add_raw": "5000000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=quote-only --target-usd=250000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=full-target --target-usd=250000" + }, + { + "target_exit_usd": 1000000, + "required_usable_side_raw": "20000000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "20000000000000", + "full_target_quote_add_raw": "20000000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=quote-only --target-usd=1000000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdcv2-usdc --mode=full-target --target-usd=1000000" + } + ], + "recommended_next_quote_only_target_usd": null + }, + { + "pair": "cwusdtv2-usdt", + "pool_address": "0x983D9ac22967209821C908e95FeACC37baA6fECA", + "source_symbol": "cWUSDT_V2", + "source_token": "0x7E8FF0DcC974F290a29968e9350800a6df674447", + "quote_symbol": "USDT", + "quote_token": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "v2_symbol": "cUSDT_V2", + "v2_token": "0x9FBfab33882Efe0038DAa608185718b772EE5660", + "base_reserve_raw": "0", + "quote_reserve_raw": "0", + "usable_side_raw": "0", + "current_direct_exit_capacity_usd": "0.00", + "wallet_source_balance_raw": "0", + "wallet_quote_balance_raw": "340504", + "status": "live-read", + "dry_run_surface": { + "returncode": 0, + "pool_surface": "reserve_only", + "quote_source": "onchain_reserve" + }, + "target_table": [ + { + "target_exit_usd": 25000, + "required_usable_side_raw": "500000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "500000000000", + "full_target_quote_add_raw": "500000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=quote-only --target-usd=25000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=full-target --target-usd=25000" + }, + { + "target_exit_usd": 100000, + "required_usable_side_raw": "2000000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "2000000000000", + "full_target_quote_add_raw": "2000000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=quote-only --target-usd=100000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=full-target --target-usd=100000" + }, + { + "target_exit_usd": 250000, + "required_usable_side_raw": "5000000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "5000000000000", + "full_target_quote_add_raw": "5000000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=quote-only --target-usd=250000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=full-target --target-usd=250000" + }, + { + "target_exit_usd": 1000000, + "required_usable_side_raw": "20000000000000", + "quote_only_add_raw": "0", + "full_target_base_add_raw": "20000000000000", + "full_target_quote_add_raw": "20000000000000", + "wallet_can_fund_quote_only_now": false, + "wallet_can_fund_full_now": false, + "projected_capacity_after_quote_only_usd": "0.00", + "quote_only_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=quote-only --target-usd=1000000", + "full_target_command": "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdtv2-usdt --mode=full-target --target-usd=1000000" + } + ], + "recommended_next_quote_only_target_usd": null + } + ] +} diff --git a/reports/extraction/post-withdrawal-routing-plan-latest.json b/reports/extraction/post-withdrawal-routing-plan-latest.json new file mode 100644 index 00000000..98763eae --- /dev/null +++ b/reports/extraction/post-withdrawal-routing-plan-latest.json @@ -0,0 +1,62 @@ +{ + "generated_at": "2026-04-16T02:03:09Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "routes": [ + { + "symbol": "USDC", + "estimated_available_human": "989536.997007", + "status": "simulated", + "preferred_route": "local-wrap-then-bridge", + "route_steps": [ + "Withdraw USDC from Chain 138 LP", + "Swap USDC -> cUSDC on Chain 138 cUSDC/USDC pool", + "Bridge cUSDC to Mainnet cWUSDC", + "Exit cWUSDC into USDC on Mainnet" + ], + "command_template": "bash scripts/verify/pmm-swap-quote-chain138.sh --pool 0xc39B7D0F40838cbFb54649d327f49a6DAC964062 --token-in 0x71D6687F38b93CCad569Fa6352c876eea967201b --amount-in 1000000" + }, + { + "symbol": "USDT", + "estimated_available_human": "1000127.496996", + "status": "simulated", + "preferred_route": "local-wrap-then-bridge", + "route_steps": [ + "Withdraw USDT from Chain 138 LP", + "Swap USDT -> cUSDT on Chain 138 cUSDT/USDT pool", + "Bridge cUSDT to Mainnet cWUSDT", + "Exit cWUSDT into USDT on Mainnet" + ], + "command_template": "bash scripts/verify/pmm-swap-quote-chain138.sh --pool 0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66 --token-in 0x004b63A7B5b0E06f6bB6adb4a5F9f590BF3182D1 --amount-in 1000000" + }, + { + "symbol": "cUSDC", + "estimated_available_human": "2026571.793966", + "status": "simulated", + "preferred_route": "bridge-direct-to-mainnet-cWUSDC-then-exit", + "route_steps": [ + "Withdraw cUSDC from Chain 138 LP", + "Bridge cUSDC to Mainnet cWUSDC", + "Exit cWUSDC into USDC on Mainnet DODO PMM" + ], + "command_template": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDC --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8" + }, + { + "symbol": "cUSDT", + "estimated_available_human": "1983763.694010", + "status": "simulated", + "preferred_route": "bridge-direct-to-mainnet-cWUSDT-then-exit", + "route_steps": [ + "Withdraw cUSDT from Chain 138 LP", + "Bridge cUSDT to Mainnet cWUSDT", + "Exit cWUSDT into USDT on Mainnet DODO PMM" + ], + "command_template": "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET --amount 1 --recipient 0x4A666F96fC8764181194447A7dFdb7d471b301C8" + } + ] +} diff --git a/reports/extraction/realizable-capital-ladder-latest.json b/reports/extraction/realizable-capital-ladder-latest.json new file mode 100644 index 00000000..170924f7 --- /dev/null +++ b/reports/extraction/realizable-capital-ladder-latest.json @@ -0,0 +1,720 @@ +{ + "generated_at": "2026-04-16T02:03:18Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "valuation_config": { + "generated_at": "2026-04-15", + "status": "inferred", + "source": "ECB reference rates for 2026-04-15 and Chain 138 pool-implied XAU conversion captured during repo audit.", + "rates": { + "USD": "1", + "EUR": "1.1780", + "GBP": "1.3550353712543854", + "AUD": "0.7136366390016357", + "CAD": "0.7255928549430243", + "CHF": "1.2776572668112798", + "JPY": "0.006285683794888213", + "XAU": "5163.3401260328355", + "ETH": "2490", + "BNB": "610", + "POL": "0.78", + "AVAX": "48", + "CELO": "0.72", + "CRO": "0.14", + "XDAI": "1", + "CHAIN138_NATIVE": null + } + }, + "assets": [ + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWAUDC", + "balance": "0.005542", + "estimated_usd": "0.0039549742533470650494", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWCADC", + "balance": "0.005375", + "estimated_usd": "0.0039000615953187556125", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWCHFC", + "balance": "0.134911", + "estimated_usd": "0.1723700195227765690978", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWEURC", + "balance": "0.049868", + "estimated_usd": "0.0587445040", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWGBPC", + "balance": "0.004773", + "estimated_usd": "0.0064675838269971815142", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWJPYC", + "balance": "0.017398", + "estimated_usd": "0.000109358326663465129774", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWUSDC", + "balance": "8888610.523693", + "estimated_usd": "8888610.523693", + "realizability_class": "B", + "confidence": "high", + "dependency_count": 1, + "realization_speed": "same-hour", + "bottleneck": "shallow direct cW/canonical PMM pool", + "status": "inferred", + "notes": [] + }, + { + "chain": "Ethereum Mainnet", + "chain_id": "1", + "symbol": "cWUSDT", + "balance": "8888909.964479", + "estimated_usd": "8888909.964479", + "realizability_class": "B", + "confidence": "high", + "dependency_count": 1, + "realization_speed": "same-hour", + "bottleneck": "shallow direct cW/canonical PMM pool", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWAUDC", + "balance": "5E+5", + "estimated_usd": "356818.3195008178500000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWCADC", + "balance": "5E+5", + "estimated_usd": "362796.4274715121500000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWCHFC", + "balance": "5E+5", + "estimated_usd": "638828.6334056399000000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWEURC", + "balance": "20674", + "estimated_usd": "24353.9720", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWEURT", + "balance": "20674", + "estimated_usd": "24353.9720", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWGBPC", + "balance": "5E+5", + "estimated_usd": "677517.6856271927000000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWGBPT", + "balance": "5E+5", + "estimated_usd": "677517.6856271927000000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWJPYC", + "balance": "5E+5", + "estimated_usd": "3142.841897444106500000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWXAUC", + "balance": "5E+5", + "estimated_usd": "2581670063.0164177500000", + "realizability_class": "E", + "confidence": "low", + "dependency_count": 3, + "realization_speed": "multi-day or indeterminate", + "bottleneck": "nominal value exceeds verified public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "BSC (BNB Chain)", + "chain_id": "56", + "symbol": "cWXAUT", + "balance": "5E+5", + "estimated_usd": "2581670063.0164177500000", + "realizability_class": "E", + "confidence": "low", + "dependency_count": 3, + "realization_speed": "multi-day or indeterminate", + "bottleneck": "nominal value exceeds verified public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Polygon", + "chain_id": "137", + "symbol": "cWUSDC", + "balance": "996.297636", + "estimated_usd": "996.297636", + "realizability_class": "D", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Polygon", + "chain_id": "137", + "symbol": "cWUSDT", + "balance": "998.983664", + "estimated_usd": "998.983664", + "realizability_class": "D", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cAUDC", + "balance": "1980999", + "estimated_usd": "1413713.4682256013200643", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cAUDC", + "balance": "2.4E+4", + "estimated_usd": "17127.2793360392568000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cCADC", + "balance": "1980999", + "estimated_usd": "1437398.7200492761952757", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cCADC", + "balance": "2.4E+4", + "estimated_usd": "17414.2285186325832000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cCHFC", + "balance": "1980999", + "estimated_usd": "2531037.7678958784725202", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cCHFC", + "balance": "2.4E+4", + "estimated_usd": "30663.7744034707152000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cEURC", + "balance": "1980997", + "estimated_usd": "2333614.4660", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cEURC", + "balance": "2.4E+4", + "estimated_usd": "28272.0000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cEURT", + "balance": "80997", + "estimated_usd": "95414.4660", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cEURT", + "balance": "2.4E+4", + "estimated_usd": "28272.0000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cGBPC", + "balance": "1980999", + "estimated_usd": "2684323.7154195662230146", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cGBPC", + "balance": "2.4E+4", + "estimated_usd": "32520.8489101052496000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cGBPT", + "balance": "1980999", + "estimated_usd": "2684323.7154195662230146", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cGBPT", + "balance": "2.4E+4", + "estimated_usd": "32520.8489101052496000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cJPYC", + "balance": "1980999", + "estimated_usd": "12451.933311989755064787", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cJPYC", + "balance": "2.4E+4", + "estimated_usd": "150.856411077317112000", + "realizability_class": "D", + "confidence": "low", + "dependency_count": 2, + "realization_speed": "same-day or multi-day", + "bottleneck": "no verified deep canonical exit corridor", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cUSDC", + "balance": "687514099.298585", + "estimated_usd": "687514099.298585", + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "bridge + downstream cW exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cUSDC", + "balance": "7.5E+4", + "estimated_usd": "75000", + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "bridge + downstream cW exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cUSDT", + "balance": "687798049.09", + "estimated_usd": "687798049.09", + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "bridge + downstream cW exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cUSDT", + "balance": "7.5E+4", + "estimated_usd": "75000", + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "bridge + downstream cW exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cXAUC", + "balance": "2837.591191", + "estimated_usd": "14651448.4577676037915520805", + "realizability_class": "E", + "confidence": "low", + "dependency_count": 3, + "realization_speed": "multi-day or indeterminate", + "bottleneck": "nominal value exceeds verified public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cXAUC", + "balance": "2.495E+4", + "estimated_usd": "128825336.1445192457250", + "realizability_class": "E", + "confidence": "low", + "dependency_count": 3, + "realization_speed": "multi-day or indeterminate", + "bottleneck": "nominal value exceeds verified public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cXAUT", + "balance": "4197.788651", + "estimated_usd": "21674610.5823135465152499105", + "realizability_class": "E", + "confidence": "low", + "dependency_count": 3, + "realization_speed": "multi-day or indeterminate", + "bottleneck": "nominal value exceeds verified public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "cXAUT", + "balance": "2.495E+4", + "estimated_usd": "128825336.1445192457250", + "realizability_class": "E", + "confidence": "low", + "dependency_count": 3, + "realization_speed": "multi-day or indeterminate", + "bottleneck": "nominal value exceeds verified public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Avalanche C-Chain", + "chain_id": "43114", + "symbol": "cWUSDT", + "balance": "0.8", + "estimated_usd": "0.8", + "realizability_class": "D", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "public exit depth", + "status": "inferred", + "notes": [] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "LP:cUSDT/cUSDC", + "balance": "0.99999999899899999799599799598798798796795195191184", + "estimated_usd": "1999999.993993", + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "LP removal plus downstream bridge/exit depth", + "status": "simulated", + "notes": [ + "LP claim is strong internally but still depends on external realization routes." + ] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "LP:cUSDT/USDT", + "balance": "0.99999999899899999799599799598798798796795195191184", + "estimated_usd": "1999999.993993", + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "LP removal plus downstream bridge/exit depth", + "status": "simulated", + "notes": [ + "LP claim is strong internally but still depends on external realization routes." + ] + }, + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": "LP:cUSDC/USDC", + "balance": "0.99999999899899999799599799598798798796795195191184", + "estimated_usd": "1999999.993993", + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "LP removal plus downstream bridge/exit depth", + "status": "simulated", + "notes": [ + "LP claim is strong internally but still depends on external realization routes." + ] + } + ], + "class_subtotals_usd": { + "A": "0", + "B": "17777520.488172", + "C": "1381462148.370564", + "D": "16146545.953187609492069223403674", + "E": "5457316857.3619551417568019910" + } +} diff --git a/reports/extraction/realize-to-canonical-sweep-plan-latest.json b/reports/extraction/realize-to-canonical-sweep-plan-latest.json new file mode 100644 index 00000000..aff4a902 --- /dev/null +++ b/reports/extraction/realize-to-canonical-sweep-plan-latest.json @@ -0,0 +1,77 @@ +{ + "generated_at": "2026-04-16T02:03:31Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "current_capital_state": { + "generated_at": "2026-04-16T01:02:49Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "nominal_total_usd": "6872703072.173878751248871214403674", + "immediate_liquid_position_usd": "0", + "internal_same_day_via_lp_withdrawal_usd": "5999999.981979", + "near_immediate_mainnet_cw_exit_usd": "17777520.488172", + "near_term_actionable_usd": "23777520.470151", + "best_mainnet_exit_routes": { + "cWUSDC": { + "route_id": "cwusdc-direct-usdc", + "aggregate_quote_score": "0", + "rank": 1 + }, + "cWUSDT": { + "route_id": "cwusdt-direct-usdt", + "aggregate_quote_score": "0", + "rank": 2 + } + }, + "gates_closed": { + "lp_signature_confirmed": true, + "lp_direct_call_no_approval_confirmed": true, + "bridge_wiring_read_only_confirmed": true, + "mainnet_exit_dry_run_routes_available": true, + "live_lp_withdrawal_canary_executed": false, + "live_bridge_canary_executed": false, + "live_mainnet_exit_canary_executed": false + } + }, + "quote_side_plan_reference": "reports/extraction/mainnet-quote-side-funding-plan-latest.json", + "routes": [ + { + "pair": "cwusdc-usdc", + "symbol": "cWUSDC", + "target_symbol": "USDC", + "status": "simulated", + "current_direct_exit_capacity_usd": "11.88535765", + "post_funding_target_exit_usd": "100000", + "current_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdc-usdc --amount-raw=1000000", + "post_funding_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdc-usdc --amount-usd=100000" + }, + { + "pair": "cwusdt-usdt", + "symbol": "cWUSDT", + "target_symbol": "USDT", + "status": "simulated", + "current_direct_exit_capacity_usd": "0.12021665", + "post_funding_target_exit_usd": "100000", + "current_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdt-usdt --amount-raw=1000000", + "post_funding_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdt-usdt --amount-usd=100000" + }, + { + "pair": "cwusdcv2-usdc", + "symbol": "cWUSDC_V2", + "target_symbol": "USDC", + "status": "simulated", + "current_direct_exit_capacity_usd": "0.00", + "post_funding_target_exit_usd": "100000", + "current_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdcv2-usdc --amount-raw=0", + "post_funding_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdcv2-usdc --amount-usd=100000" + }, + { + "pair": "cwusdtv2-usdt", + "symbol": "cWUSDT_V2", + "target_symbol": "USDT", + "status": "simulated", + "current_direct_exit_capacity_usd": "0.00", + "post_funding_target_exit_usd": "100000", + "current_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdtv2-usdt --amount-raw=0", + "post_funding_sweep_command": "bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdtv2-usdt --amount-usd=100000" + } + ] +} diff --git a/reports/extraction/recover-relay-gas-latest.json b/reports/extraction/recover-relay-gas-latest.json new file mode 100644 index 00000000..1477970c --- /dev/null +++ b/reports/extraction/recover-relay-gas-latest.json @@ -0,0 +1,21 @@ +{ + "status": "live-read", + "execute": true, + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "bridge": "0xcacfd227A040002e49e2e01626363071324f820a", + "selector": "5009297550715157269", + "current_receiver": "0xF9A32F37099c582D28b4dE7Fca6eaC1e5259f939", + "current_enabled": "true", + "bridge_admin": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "fee_wei": "1005012800000000", + "link_balance_raw": "984714490864402400000000", + "link_allowance_raw": "0", + "weth_balance_raw": "22745765257824297442485", + "weth_allowance_raw": "0", + "rescue_weth_wei": "5000000000000000", + "relay_health": "degraded", + "need_update_destination": false, + "need_fee_approval": true, + "need_weth_approval": true, + "target_receiver": "0xF9A32F37099c582D28b4dE7Fca6eaC1e5259f939" +} \ No newline at end of file diff --git a/reports/extraction/retained-capital-report-latest.json b/reports/extraction/retained-capital-report-latest.json new file mode 100644 index 00000000..6cfd74f7 --- /dev/null +++ b/reports/extraction/retained-capital-report-latest.json @@ -0,0 +1,29 @@ +{ + "status": "live-read", + "wallet": { + "usdc_raw": 0, + "usdt_raw": 0, + "canonical_usd": 0.0 + }, + "targets": { + "min_wallet_usdc_raw": 25000000, + "min_wallet_usdt_raw": 5000000, + "usdc_floor_met": false, + "usdt_floor_met": false + }, + "redeployed": { + "v2_usdc_quote_raw": 17453828, + "v2_usdt_quote_raw": 562479, + "v2_direct_exit_usd": 18.016307 + }, + "legacy_bootstrap": { + "legacy_usdc_quote_raw": 221764619, + "legacy_usdt_quote_raw": 2182358, + "legacy_bootstrap_usd": 223.946977 + }, + "capital_stack": { + "retained_wallet_cash_usd": 0.0, + "redeployed_v2_direct_exit_usd": 18.016307, + "total_direct_exit_usd": 241.963284 + } +} \ No newline at end of file diff --git a/reports/extraction/stable-lp-verification-latest.json b/reports/extraction/stable-lp-verification-latest.json new file mode 100644 index 00000000..e3363d6d --- /dev/null +++ b/reports/extraction/stable-lp-verification-latest.json @@ -0,0 +1,313 @@ +{ + "generated_at": "2026-04-16T02:03:14Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "rpc": "http://192.168.11.211:8545", + "integration_contract": "0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "pools": [ + { + "pair": "cUSDT/cUSDC", + "pool_address": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "wallet_lp_balance_raw": "999999996997", + "pool_total_supply_raw": "999999997998", + "wallet_share_fraction": "0.99999999899899999799599799598798798796795195191184", + "base_symbol": "cUSDT", + "quote_symbol": "cUSDC", + "pool_base_reserve_raw": "983891197998", + "pool_quote_reserve_raw": "1016108797998", + "wallet_claim_base_raw": "983891197013", + "wallet_claim_quote_raw": "1016108796980", + "wallet_claim_base_human": "983891.197013", + "wallet_claim_quote_human": "1016108.79698", + "exact_remove_liquidity_call": { + "signature": "sellShares(uint256,address,uint256,uint256,bytes,uint256)", + "selector": "0xb56ceaa6", + "mode": "direct pool call", + "preview_status": "live-read", + "preview_test_share_amount_raw": "999999996", + "preview_expected_base_out": "983.891196", + "preview_expected_quote_out": "1016.108795", + "preview_deadline_unix": 1776308593 + }, + "approval_requirements": { + "direct_call": { + "status": "live-read", + "allowance_to_integration_raw": "0", + "required": false, + "notes": [ + "Direct pool withdrawal uses sellShares(...) against the pool from the LP holder wallet.", + "The DODO DVM implementation burns _SHARES_[msg.sender] directly, so no LP allowance is needed for a direct owner call.", + "A delegated helper or proxy that relies on transferFrom() would require LP allowance or permit." + ] + }, + "delegated_call": { + "status": "inferred", + "required": true, + "notes": [ + "If a separate contract or helper is used to move LP shares first, it must have allowance or a permit on the LP token.", + "The canonical DODOPMMIntegration contract does not expose a remove-liquidity helper for these pools." + ] + } + }, + "withdrawal_readiness": { + "ownership_status": "live-read", + "mechanics_status": "live-read", + "direct_usability_status": "simulated", + "notes": [ + "ERC-20 LP ownership is directly verified by balanceOf + totalSupply.", + "Exact remove-liquidity surface is the pool-level sellShares(uint256,address,uint256,uint256,bytes,uint256) method.", + "The preview call was executed read-only against the live pool from the canonical wallet context; no transaction was broadcast.", + "Withdrawn stable outputs are directly usable in Chain 138 internal stable surfaces and may feed approved external corridors after bridge handling." + ] + }, + "scenarios": [ + { + "mode": "test-withdrawal", + "percentage_of_wallet_lp": "1.00", + "lp_tokens_to_burn_raw": "9999999970", + "expected_base_out": "9838.911970", + "expected_quote_out": "10161.087970", + "status": "simulated" + }, + { + "mode": "planned-partial", + "percentage_of_wallet_lp": "25.00", + "lp_tokens_to_burn_raw": "249999999249", + "expected_base_out": "245972.799253", + "expected_quote_out": "254027.199245", + "status": "simulated" + }, + { + "mode": "emergency-full", + "percentage_of_wallet_lp": "100.00", + "lp_tokens_to_burn_raw": "999999996997", + "expected_base_out": "983891.197013", + "expected_quote_out": "1016108.796981", + "status": "simulated" + } + ] + }, + { + "pair": "cUSDT/USDT", + "pool_address": "0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66", + "wallet_lp_balance_raw": "999999996997", + "pool_total_supply_raw": "999999997998", + "wallet_share_fraction": "0.99999999899899999799599799598798798796795195191184", + "base_symbol": "cUSDT", + "quote_symbol": "USDT", + "pool_base_reserve_raw": "999872497998", + "pool_quote_reserve_raw": "1000127497998", + "wallet_claim_base_raw": "999872496997", + "wallet_claim_quote_raw": "1000127496996", + "wallet_claim_base_human": "999872.496997", + "wallet_claim_quote_human": "1000127.496996", + "exact_remove_liquidity_call": { + "signature": "sellShares(uint256,address,uint256,uint256,bytes,uint256)", + "selector": "0xb56ceaa6", + "mode": "direct pool call", + "preview_status": "live-read", + "preview_test_share_amount_raw": "999999996", + "preview_expected_base_out": "999.872496", + "preview_expected_quote_out": "1000.127495", + "preview_deadline_unix": 1776308593 + }, + "approval_requirements": { + "direct_call": { + "status": "live-read", + "allowance_to_integration_raw": "0", + "required": false, + "notes": [ + "Direct pool withdrawal uses sellShares(...) against the pool from the LP holder wallet.", + "The DODO DVM implementation burns _SHARES_[msg.sender] directly, so no LP allowance is needed for a direct owner call.", + "A delegated helper or proxy that relies on transferFrom() would require LP allowance or permit." + ] + }, + "delegated_call": { + "status": "inferred", + "required": true, + "notes": [ + "If a separate contract or helper is used to move LP shares first, it must have allowance or a permit on the LP token.", + "The canonical DODOPMMIntegration contract does not expose a remove-liquidity helper for these pools." + ] + } + }, + "withdrawal_readiness": { + "ownership_status": "live-read", + "mechanics_status": "live-read", + "direct_usability_status": "simulated", + "notes": [ + "ERC-20 LP ownership is directly verified by balanceOf + totalSupply.", + "Exact remove-liquidity surface is the pool-level sellShares(uint256,address,uint256,uint256,bytes,uint256) method.", + "The preview call was executed read-only against the live pool from the canonical wallet context; no transaction was broadcast.", + "Withdrawn stable outputs are directly usable in Chain 138 internal stable surfaces and may feed approved external corridors after bridge handling." + ] + }, + "scenarios": [ + { + "mode": "test-withdrawal", + "percentage_of_wallet_lp": "1.00", + "lp_tokens_to_burn_raw": "9999999970", + "expected_base_out": "9998.724970", + "expected_quote_out": "10001.274970", + "status": "simulated" + }, + { + "mode": "planned-partial", + "percentage_of_wallet_lp": "25.00", + "lp_tokens_to_burn_raw": "249999999249", + "expected_base_out": "249968.124249", + "expected_quote_out": "250031.874249", + "status": "simulated" + }, + { + "mode": "emergency-full", + "percentage_of_wallet_lp": "100.00", + "lp_tokens_to_burn_raw": "999999996997", + "expected_base_out": "999872.496997", + "expected_quote_out": "1000127.496997", + "status": "simulated" + } + ] + }, + { + "pair": "cUSDC/USDC", + "pool_address": "0xc39B7D0F40838cbFb54649d327f49a6DAC964062", + "wallet_lp_balance_raw": "999999996997", + "pool_total_supply_raw": "999999997998", + "wallet_share_fraction": "0.99999999899899999799599799598798798796795195191184", + "base_symbol": "cUSDC", + "quote_symbol": "USDC", + "pool_base_reserve_raw": "1010462997998", + "pool_quote_reserve_raw": "989536997998", + "wallet_claim_base_raw": "1010462996986", + "wallet_claim_quote_raw": "989536997007", + "wallet_claim_base_human": "1010462.996986", + "wallet_claim_quote_human": "989536.997007", + "exact_remove_liquidity_call": { + "signature": "sellShares(uint256,address,uint256,uint256,bytes,uint256)", + "selector": "0xb56ceaa6", + "mode": "direct pool call", + "preview_status": "live-read", + "preview_test_share_amount_raw": "999999996", + "preview_expected_base_out": "1010.462995", + "preview_expected_quote_out": "989.536996", + "preview_deadline_unix": 1776308593 + }, + "approval_requirements": { + "direct_call": { + "status": "live-read", + "allowance_to_integration_raw": "0", + "required": false, + "notes": [ + "Direct pool withdrawal uses sellShares(...) against the pool from the LP holder wallet.", + "The DODO DVM implementation burns _SHARES_[msg.sender] directly, so no LP allowance is needed for a direct owner call.", + "A delegated helper or proxy that relies on transferFrom() would require LP allowance or permit." + ] + }, + "delegated_call": { + "status": "inferred", + "required": true, + "notes": [ + "If a separate contract or helper is used to move LP shares first, it must have allowance or a permit on the LP token.", + "The canonical DODOPMMIntegration contract does not expose a remove-liquidity helper for these pools." + ] + } + }, + "withdrawal_readiness": { + "ownership_status": "live-read", + "mechanics_status": "live-read", + "direct_usability_status": "simulated", + "notes": [ + "ERC-20 LP ownership is directly verified by balanceOf + totalSupply.", + "Exact remove-liquidity surface is the pool-level sellShares(uint256,address,uint256,uint256,bytes,uint256) method.", + "The preview call was executed read-only against the live pool from the canonical wallet context; no transaction was broadcast.", + "Withdrawn stable outputs are directly usable in Chain 138 internal stable surfaces and may feed approved external corridors after bridge handling." + ] + }, + "scenarios": [ + { + "mode": "test-withdrawal", + "percentage_of_wallet_lp": "1.00", + "lp_tokens_to_burn_raw": "9999999970", + "expected_base_out": "10104.629970", + "expected_quote_out": "9895.369970", + "status": "simulated" + }, + { + "mode": "planned-partial", + "percentage_of_wallet_lp": "25.00", + "lp_tokens_to_burn_raw": "249999999249", + "expected_base_out": "252615.749247", + "expected_quote_out": "247384.249252", + "status": "simulated" + }, + { + "mode": "emergency-full", + "percentage_of_wallet_lp": "100.00", + "lp_tokens_to_burn_raw": "999999996997", + "expected_base_out": "1010462.996987", + "expected_quote_out": "989536.997007", + "status": "simulated" + } + ] + } + ], + "mainnet_bridge_wallet_readiness": { + "generated_at": "2026-04-16T02:03:14Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "assets": [ + { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + }, + { + "symbol": "cUSDC", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + } + ] + }, + "remaining_manual_items": [ + "Run a small live LP withdrawal only under a separate operator-approved mutation workflow.", + "Run a small live cUSDT or cUSDC bridge canary to Mainnet only under a separate operator-approved mutation workflow.", + "If a delegated withdrawal helper is introduced later, verify LP allowance or permit handling in an isolated mutation-approved test flow." + ] +} diff --git a/reports/extraction/treasury-segmentation-assignment-latest.json b/reports/extraction/treasury-segmentation-assignment-latest.json new file mode 100644 index 00000000..3f6ab4cb --- /dev/null +++ b/reports/extraction/treasury-segmentation-assignment-latest.json @@ -0,0 +1,662 @@ +{ + "generated_at": "2026-04-16T02:03:22Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "policy": { + "generated_at": "2026-04-16T02:03:22Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status": "inferred", + "buckets": { + "gas_reserve": { + "purpose": "Per-chain native gas needed to keep read/write optionality alive.", + "minimum_floor_usd": 25, + "movement_rule": "May top up from stable working capital only after operator review." + }, + "stable_working_capital": { + "purpose": "Assets intentionally used for controlled extraction or collateral pilot workflows.", + "minimum_floor_usd": 250000, + "movement_rule": "Use only through approved corridors with ledgered outputs." + }, + "bridge_inventory": { + "purpose": "Assets whose main role is to move value between Chain 138 and public chains.", + "minimum_floor_usd": 0, + "movement_rule": "Use only when route health is green and fallback exists." + }, + "lp_reserve": { + "purpose": "LP claims that currently anchor internal stable liquidity.", + "minimum_floor_usd": 1000000, + "movement_rule": "Planned partial or emergency full only; no ad hoc removal." + }, + "non_core_wrappers": { + "purpose": "Wrapped or synthetic assets without near-term reliable canonical exits.", + "minimum_floor_usd": 0, + "movement_rule": "Do not include in routine extraction forecasts." + }, + "protected_reserve": { + "purpose": "Inventory intentionally excluded from routine extraction until stronger public depth exists.", + "minimum_floor_usd": 1000000, + "movement_rule": "No movement under this pack; manual governance only." + } + }, + "wallet_roles": { + "current_state": [ + { + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "role": "mixed-use / overconcentrated", + "status": "live-read", + "notes": "Current state collapses reserve, bridge inventory, LP custody, and extraction inventory into one wallet." + } + ], + "target_state": [ + { + "role": "execution", + "status": "manual-required", + "notes": "Dedicated working wallet for approved exits only." + }, + { + "role": "reserve", + "status": "manual-required", + "notes": "Protected reserve wallet with no routine route execution." + }, + { + "role": "external-canonical-stable", + "status": "manual-required", + "notes": "Clean landing wallet for realized USDC/USDT only." + }, + { + "role": "testing", + "status": "manual-required", + "notes": "Low-balance wallet for corridor rehearsal and approvals." + } + ] + }, + "movement_rules": [ + "No asset movement from protected reserve to execution wallet without manual operator sign-off.", + "Realized canonical stable balances should not be mixed with bridge inventory or non-core wrappers.", + "LP reserve withdrawals should follow the stable LP runbook and preserve reserve floor assumptions." + ] + }, + "assignments": [ + { + "symbol": "cWAUDC", + "chain": "Ethereum Mainnet", + "estimated_usd": "0.0039549742533470650494", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWCADC", + "chain": "Ethereum Mainnet", + "estimated_usd": "0.0039000615953187556125", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWCHFC", + "chain": "Ethereum Mainnet", + "estimated_usd": "0.1723700195227765690978", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWEURC", + "chain": "Ethereum Mainnet", + "estimated_usd": "0.0587445040", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWGBPC", + "chain": "Ethereum Mainnet", + "estimated_usd": "0.0064675838269971815142", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWJPYC", + "chain": "Ethereum Mainnet", + "estimated_usd": "0.000109358326663465129774", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWUSDC", + "chain": "Ethereum Mainnet", + "estimated_usd": "8888610.523693", + "realizability_class": "B", + "recommended_bucket": "bridge_inventory", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Split working tranche from long-tail inventory into dedicated execution wallet." + ] + }, + { + "symbol": "cWUSDT", + "chain": "Ethereum Mainnet", + "estimated_usd": "8888909.964479", + "realizability_class": "B", + "recommended_bucket": "bridge_inventory", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Split working tranche from long-tail inventory into dedicated execution wallet." + ] + }, + { + "symbol": "cWAUDC", + "chain": "BSC (BNB Chain)", + "estimated_usd": "356818.3195008178500000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWCADC", + "chain": "BSC (BNB Chain)", + "estimated_usd": "362796.4274715121500000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWCHFC", + "chain": "BSC (BNB Chain)", + "estimated_usd": "638828.6334056399000000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWEURC", + "chain": "BSC (BNB Chain)", + "estimated_usd": "24353.9720", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWEURT", + "chain": "BSC (BNB Chain)", + "estimated_usd": "24353.9720", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWGBPC", + "chain": "BSC (BNB Chain)", + "estimated_usd": "677517.6856271927000000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWGBPT", + "chain": "BSC (BNB Chain)", + "estimated_usd": "677517.6856271927000000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWJPYC", + "chain": "BSC (BNB Chain)", + "estimated_usd": "3142.841897444106500000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cWXAUC", + "chain": "BSC (BNB Chain)", + "estimated_usd": "2581670063.0164177500000", + "realizability_class": "E", + "recommended_bucket": "protected_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Do not route through routine extraction until public depth is materially stronger." + ] + }, + { + "symbol": "cWXAUT", + "chain": "BSC (BNB Chain)", + "estimated_usd": "2581670063.0164177500000", + "realizability_class": "E", + "recommended_bucket": "protected_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Do not route through routine extraction until public depth is materially stronger." + ] + }, + { + "symbol": "cWUSDC", + "chain": "Polygon", + "estimated_usd": "996.297636", + "realizability_class": "D", + "recommended_bucket": "bridge_inventory", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Split working tranche from long-tail inventory into dedicated execution wallet." + ] + }, + { + "symbol": "cWUSDT", + "chain": "Polygon", + "estimated_usd": "998.983664", + "realizability_class": "D", + "recommended_bucket": "bridge_inventory", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Split working tranche from long-tail inventory into dedicated execution wallet." + ] + }, + { + "symbol": "cAUDC", + "chain": "Chain 138", + "estimated_usd": "1413713.4682256013200643", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cAUDC", + "chain": "Chain 138", + "estimated_usd": "17127.2793360392568000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cCADC", + "chain": "Chain 138", + "estimated_usd": "1437398.7200492761952757", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cCADC", + "chain": "Chain 138", + "estimated_usd": "17414.2285186325832000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cCHFC", + "chain": "Chain 138", + "estimated_usd": "2531037.7678958784725202", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cCHFC", + "chain": "Chain 138", + "estimated_usd": "30663.7744034707152000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cEURC", + "chain": "Chain 138", + "estimated_usd": "2333614.4660", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cEURC", + "chain": "Chain 138", + "estimated_usd": "28272.0000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cEURT", + "chain": "Chain 138", + "estimated_usd": "95414.4660", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cEURT", + "chain": "Chain 138", + "estimated_usd": "28272.0000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cGBPC", + "chain": "Chain 138", + "estimated_usd": "2684323.7154195662230146", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cGBPC", + "chain": "Chain 138", + "estimated_usd": "32520.8489101052496000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cGBPT", + "chain": "Chain 138", + "estimated_usd": "2684323.7154195662230146", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cGBPT", + "chain": "Chain 138", + "estimated_usd": "32520.8489101052496000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cJPYC", + "chain": "Chain 138", + "estimated_usd": "12451.933311989755064787", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cJPYC", + "chain": "Chain 138", + "estimated_usd": "150.856411077317112000", + "realizability_class": "D", + "recommended_bucket": "non_core_wrappers", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Treat as constrained inventory pending better canonical exits." + ] + }, + { + "symbol": "cUSDC", + "chain": "Chain 138", + "estimated_usd": "687514099.298585", + "realizability_class": "C", + "recommended_bucket": "stable_working_capital", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Define exact sub-balance reserved for bridge inventory vs internal reserve." + ] + }, + { + "symbol": "cUSDC", + "chain": "Chain 138", + "estimated_usd": "75000", + "realizability_class": "C", + "recommended_bucket": "stable_working_capital", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Define exact sub-balance reserved for bridge inventory vs internal reserve." + ] + }, + { + "symbol": "cUSDT", + "chain": "Chain 138", + "estimated_usd": "687798049.09", + "realizability_class": "C", + "recommended_bucket": "stable_working_capital", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Define exact sub-balance reserved for bridge inventory vs internal reserve." + ] + }, + { + "symbol": "cUSDT", + "chain": "Chain 138", + "estimated_usd": "75000", + "realizability_class": "C", + "recommended_bucket": "stable_working_capital", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Define exact sub-balance reserved for bridge inventory vs internal reserve." + ] + }, + { + "symbol": "cXAUC", + "chain": "Chain 138", + "estimated_usd": "14651448.4577676037915520805", + "realizability_class": "E", + "recommended_bucket": "protected_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Do not route through routine extraction until public depth is materially stronger." + ] + }, + { + "symbol": "cXAUC", + "chain": "Chain 138", + "estimated_usd": "128825336.1445192457250", + "realizability_class": "E", + "recommended_bucket": "protected_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Do not route through routine extraction until public depth is materially stronger." + ] + }, + { + "symbol": "cXAUT", + "chain": "Chain 138", + "estimated_usd": "21674610.5823135465152499105", + "realizability_class": "E", + "recommended_bucket": "protected_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Do not route through routine extraction until public depth is materially stronger." + ] + }, + { + "symbol": "cXAUT", + "chain": "Chain 138", + "estimated_usd": "128825336.1445192457250", + "realizability_class": "E", + "recommended_bucket": "protected_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Do not route through routine extraction until public depth is materially stronger." + ] + }, + { + "symbol": "cWUSDT", + "chain": "Avalanche C-Chain", + "estimated_usd": "0.8", + "realizability_class": "D", + "recommended_bucket": "bridge_inventory", + "target_wallet_role": "execution", + "status": "inferred", + "gap_to_target": [ + "Split working tranche from long-tail inventory into dedicated execution wallet." + ] + }, + { + "symbol": "LP:cUSDT/cUSDC", + "chain": "Chain 138", + "estimated_usd": "1999999.993993", + "realizability_class": "C", + "recommended_bucket": "lp_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Move LP custody to a dedicated reserve wallet before operational extraction." + ] + }, + { + "symbol": "LP:cUSDT/USDT", + "chain": "Chain 138", + "estimated_usd": "1999999.993993", + "realizability_class": "C", + "recommended_bucket": "lp_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Move LP custody to a dedicated reserve wallet before operational extraction." + ] + }, + { + "symbol": "LP:cUSDC/USDC", + "chain": "Chain 138", + "estimated_usd": "1999999.993993", + "realizability_class": "C", + "recommended_bucket": "lp_reserve", + "target_wallet_role": "reserve", + "status": "inferred", + "gap_to_target": [ + "Move LP custody to a dedicated reserve wallet before operational extraction." + ] + } + ] +} diff --git a/scripts/lib/extraction_gap_closure.py b/scripts/lib/extraction_gap_closure.py new file mode 100644 index 00000000..3c9ef748 --- /dev/null +++ b/scripts/lib/extraction_gap_closure.py @@ -0,0 +1,1476 @@ +#!/usr/bin/env python3 +""" +Extraction gap-closure pack generator. + +Builds machine-readable and operator-readable artifacts for: +1. Canonical exit corridors +2. Corridor tranche capacity tests +3. Stable LP withdrawal verification +4. Realizable capital ladder +5. Treasury segmentation +""" + +from __future__ import annotations + +import argparse +import csv +import json +import math +import os +import re +import sys +import time +import urllib.error +import urllib.request +from dataclasses import dataclass +from decimal import Decimal, getcontext +from pathlib import Path +from typing import Any, Dict, Iterable, List, Optional, Tuple + +getcontext().prec = 50 + +ROOT = Path(__file__).resolve().parents[2] +CONFIG_DIR = ROOT / "config" / "extraction" +REPORTS_DIR = ROOT / "reports" / "extraction" +DOCS_DIR = ROOT / "docs" / "03-deployment" + +CANONICAL_WALLET = os.environ.get( + "CANONICAL_WALLET_ADDRESS", + "0x4A666F96fC8764181194447A7dFdb7d471b301C8", +) + +STATUS_LIVE = "live-read" +STATUS_SIM = "simulated" +STATUS_INF = "inferred" +STATUS_MANUAL = "manual-required" + +FX_CONFIG = { + "generated_at": "2026-04-15", + "status": STATUS_INF, + "source": "ECB reference rates for 2026-04-15 and Chain 138 pool-implied XAU conversion captured during repo audit.", + "rates": { + "USD": "1", + "EUR": "1.1780", + "GBP": "1.3550353712543854", + "AUD": "0.7136366390016357", + "CAD": "0.7255928549430243", + "CHF": "1.2776572668112798", + "JPY": "0.006285683794888213", + "XAU": "5163.3401260328355", + "ETH": "2490", + "BNB": "610", + "POL": "0.78", + "AVAX": "48", + "CELO": "0.72", + "CRO": "0.14", + "XDAI": "1", + "CHAIN138_NATIVE": None, + }, +} + +CHAIN_INFO = { + "1": {"name": "Ethereum Mainnet", "native_symbol": "ETH", "rpc_env": "ETHEREUM_MAINNET_RPC"}, + "10": {"name": "Optimism", "native_symbol": "ETH", "rpc_env": "OPTIMISM_MAINNET_RPC"}, + "25": {"name": "Cronos", "native_symbol": "CRO", "rpc_env": "CRONOS_RPC_URL"}, + "56": {"name": "BSC (BNB Chain)", "native_symbol": "BNB", "rpc_env": "BSC_RPC_URL"}, + "100": {"name": "Gnosis Chain", "native_symbol": "XDAI", "rpc_env": "GNOSIS_MAINNET_RPC"}, + "137": {"name": "Polygon", "native_symbol": "POL", "rpc_env": "POLYGON_MAINNET_RPC"}, + "138": {"name": "Chain 138", "native_symbol": "CHAIN138_NATIVE", "rpc_env": "RPC_URL_138"}, + "42161": {"name": "Arbitrum One", "native_symbol": "ETH", "rpc_env": "ARBITRUM_MAINNET_RPC"}, + "42220": {"name": "Celo", "native_symbol": "CELO", "rpc_env": "CELO_RPC"}, + "43114": {"name": "Avalanche C-Chain", "native_symbol": "AVAX", "rpc_env": "AVALANCHE_RPC_URL"}, + "8453": {"name": "Base", "native_symbol": "ETH", "rpc_env": "BASE_MAINNET_RPC"}, +} + +TOKEN_TO_FX = { + "cUSDC": "USD", + "cUSDT": "USD", + "cWUSDC": "USD", + "cWUSDT": "USD", + "cWEURC": "EUR", + "cWEURT": "EUR", + "cEURC": "EUR", + "cEURT": "EUR", + "cWGBPC": "GBP", + "cWGBPT": "GBP", + "cGBPC": "GBP", + "cGBPT": "GBP", + "cWAUDC": "AUD", + "cAUDC": "AUD", + "cWCADC": "CAD", + "cCADC": "CAD", + "cWCHFC": "CHF", + "cCHFC": "CHF", + "cWJPYC": "JPY", + "cJPYC": "JPY", + "cWXAUC": "XAU", + "cWXAUT": "XAU", + "cXAUC": "XAU", + "cXAUT": "XAU", +} + +CHAIN138_STABLE_POOLS = [ + { + "pool_address": "0x9e89bAe009adf128782E19e8341996c596ac40dC", + "pair": "cUSDT/cUSDC", + "base_symbol": "cUSDT", + "base_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "quote_symbol": "cUSDC", + "quote_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + }, + { + "pool_address": "0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66", + "pair": "cUSDT/USDT", + "base_symbol": "cUSDT", + "base_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "quote_symbol": "USDT", + "quote_token": "0x004b63A7B5b0E06f6bB6adb4a5F9f590BF3182D1", + }, + { + "pool_address": "0xc39B7D0F40838cbFb54649d327f49a6DAC964062", + "pair": "cUSDC/USDC", + "base_symbol": "cUSDC", + "base_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "quote_symbol": "USDC", + "quote_token": "0x71D6687F38b93CCad569Fa6352c876eea967201b", + }, +] + +CHAIN138_L1_BRIDGE_DEFAULT = "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7" +MAINNET_L2_BRIDGE_DEFAULT = "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5" +ETH_MAINNET_SELECTOR = 5009297550715157269 + +SELECTOR_ALLOWANCE = "0xdd62ed3e" +SELECTOR_BALANCE_OF = "0x70a08231" +SELECTOR_TOTAL_SUPPLY = "0x18160ddd" +SELECTOR_GET_VAULT_RESERVE = "0x36223ce9" +SELECTOR_SELL_SHARES = "0xb56ceaa6" +SELECTOR_DESTINATIONS_ADDRESS_SELECTOR = "0x63673e50" +SELECTOR_CALCULATE_FEE = "0x30925b87" +SELECTOR_CANONICAL_TO_MIRRORED = "0x22f1ccb4" + + +def ensure_dirs() -> None: + CONFIG_DIR.mkdir(parents=True, exist_ok=True) + REPORTS_DIR.mkdir(parents=True, exist_ok=True) + DOCS_DIR.mkdir(parents=True, exist_ok=True) + + +def write_json(path: Path, data: Dict[str, Any]) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(data, indent=2) + "\n") + + +def write_text(path: Path, text: str) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def now_utc() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def latest_file(directory: Path, pattern: str) -> Optional[Path]: + files = sorted(directory.glob(pattern)) + return files[-1] if files else None + + +def load_json(path: Path) -> Dict[str, Any]: + return json.loads(path.read_text()) + + +def env_rpc(name: str) -> Optional[str]: + v = os.environ.get(name) + return v.strip() if v else None + + +def rpc_call(rpc_url: str, method: str, params: List[Any]) -> Any: + body = json.dumps({"jsonrpc": "2.0", "method": method, "params": params, "id": 1}).encode() + req = urllib.request.Request(rpc_url, data=body, headers={"Content-Type": "application/json"}) + with urllib.request.urlopen(req, timeout=20) as resp: + payload = json.loads(resp.read().decode()) + if "error" in payload: + raise RuntimeError(payload["error"]) + return payload["result"] + + +def eth_call(rpc_url: str, to: str, data: str) -> str: + return rpc_call(rpc_url, "eth_call", [{"to": to, "data": data}, "latest"]) + + +def eth_call_with_from(rpc_url: str, to: str, data: str, from_addr: str) -> str: + return rpc_call(rpc_url, "eth_call", [{"to": to, "from": from_addr, "data": data}, "latest"]) + + +def eth_get_balance(rpc_url: str, address: str) -> str: + return rpc_call(rpc_url, "eth_getBalance", [address, "latest"]) + + +def pad_address(address: str) -> str: + return address.lower().replace("0x", "").rjust(64, "0") + + +def pad_uint(value: int) -> str: + return hex(value)[2:].rjust(64, "0") + + +def call_balance_of(rpc_url: str, token: str, holder: str) -> int: + data = SELECTOR_BALANCE_OF + pad_address(holder) + return int(eth_call(rpc_url, token, data), 16) + + +def call_total_supply(rpc_url: str, token: str) -> int: + data = SELECTOR_TOTAL_SUPPLY + return int(eth_call(rpc_url, token, data), 16) + + +def call_get_vault_reserve(rpc_url: str, pool: str) -> Optional[Tuple[int, int]]: + data = SELECTOR_GET_VAULT_RESERVE + try: + raw = eth_call(rpc_url, pool, data) + except Exception: + return None + if not raw.startswith("0x"): + return None + body = raw[2:] + if len(body) < 128: + return None + return int(body[:64], 16), int(body[64:128], 16) + + +def call_allowance(rpc_url: str, token: str, owner: str, spender: str) -> int: + data = SELECTOR_ALLOWANCE + pad_address(owner) + pad_address(spender) + return int(eth_call(rpc_url, token, data), 16) + + +def call_sell_shares_preview( + rpc_url: str, + pool: str, + from_addr: str, + share_amount: int, + recipient: str, + base_min_amount: int, + quote_min_amount: int, + deadline: int, +) -> Tuple[int, int]: + # sellShares(uint256,address,uint256,uint256,bytes,uint256) + # Static head contains 6 words. The bytes arg is empty and points to offset 0xc0. + data = ( + SELECTOR_SELL_SHARES + + pad_uint(share_amount) + + pad_address(recipient) + + pad_uint(base_min_amount) + + pad_uint(quote_min_amount) + + pad_uint(0xC0) + + pad_uint(deadline) + + pad_uint(0) + ) + raw = eth_call_with_from(rpc_url, pool, data, from_addr) + body = raw[2:] + if len(body) < 128: + raise RuntimeError("sellShares preview returned short data") + return int(body[:64], 16), int(body[64:128], 16) + + +def call_destinations_address_selector( + rpc_url: str, + bridge: str, + token: str, + selector: int, +) -> Tuple[str, bool]: + data = SELECTOR_DESTINATIONS_ADDRESS_SELECTOR + pad_address(token) + pad_uint(selector) + raw = eth_call(rpc_url, bridge, data) + body = raw[2:] + if len(body) < 128: + raise RuntimeError("destinations(address,uint64) returned short data") + receiver = "0x" + body[24:64] + enabled = int(body[64:128], 16) != 0 + return receiver, enabled + + +def call_calculate_fee( + rpc_url: str, + bridge: str, + token: str, + selector: int, + recipient: str, + amount: int, +) -> int: + data = ( + SELECTOR_CALCULATE_FEE + + pad_address(token) + + pad_uint(selector) + + pad_address(recipient) + + pad_uint(amount) + ) + return int(eth_call(rpc_url, bridge, data), 16) + + +def call_canonical_to_mirrored(rpc_url: str, bridge: str, token: str) -> str: + data = SELECTOR_CANONICAL_TO_MIRRORED + pad_address(token) + raw = eth_call(rpc_url, bridge, data) + body = raw[2:] + if len(body) < 64: + raise RuntimeError("canonicalToMirrored(address) returned short data") + return "0x" + body[24:64] + + +def bridge_wallet_readiness() -> Dict[str, Any]: + rpc_138 = env_rpc("RPC_URL_138") + rpc_mainnet = env_rpc("ETHEREUM_MAINNET_RPC") + l1_bridge = ( + os.environ.get("CW_MULTITOKEN_BRIDGE_L1_138") + or os.environ.get("CW_L1_BRIDGE_CHAIN138") + or os.environ.get("CHAIN138_L1_BRIDGE") + or CHAIN138_L1_BRIDGE_DEFAULT + ) + l2_bridge = ( + os.environ.get("CW_MULTITOKEN_BRIDGE_L2_MAINNET") + or os.environ.get("CW_BRIDGE_MAINNET") + or MAINNET_L2_BRIDGE_DEFAULT + ) + assets = [ + {"symbol": "cUSDT", "canonical": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22"}, + {"symbol": "cUSDC", "canonical": "0xf22258f57794CC8E06237084b353Ab30fFfa640b"}, + ] + out = [] + for asset in assets: + row: Dict[str, Any] = { + "symbol": asset["symbol"], + "canonical_token": asset["canonical"], + "mainnet_selector": ETH_MAINNET_SELECTOR, + "l1_bridge": l1_bridge, + "l2_bridge": l2_bridge, + "status": STATUS_MANUAL, + } + try: + if not rpc_138 or not rpc_mainnet: + raise RuntimeError("RPC_URL_138 and ETHEREUM_MAINNET_RPC are required") + receiver, enabled = call_destinations_address_selector(rpc_138, l1_bridge, asset["canonical"], ETH_MAINNET_SELECTOR) + fee = call_calculate_fee(rpc_138, l1_bridge, asset["canonical"], ETH_MAINNET_SELECTOR, CANONICAL_WALLET, 1_000_000) + mirrored = call_canonical_to_mirrored(rpc_mainnet, l2_bridge, asset["canonical"]) + row.update( + { + "status": STATUS_LIVE, + "l1_destination_receiver": receiver, + "l1_destination_enabled": enabled, + "fee_quote_1_token_wei": str(fee), + "mainnet_mirrored_token": mirrored, + "corridor_ready": bool(enabled and receiver.lower() != "0x0000000000000000000000000000000000000000" and mirrored.lower() != "0x0000000000000000000000000000000000000000"), + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary.", + ], + } + ) + except Exception as exc: + row.update({"error": str(exc), "notes": ["Bridge verification could not be completed with current RPC/config state."]}) + out.append(row) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "assets": out, + } + + +def decode_decimal_amount(raw: int, decimals: int = 6) -> Decimal: + return Decimal(raw) / (Decimal(10) ** decimals) + + +def quantize_money(value: Decimal) -> str: + return f"{value.quantize(Decimal('0.01')):,}" + + +def price_for_symbol(symbol: str) -> Optional[Decimal]: + fx = TOKEN_TO_FX.get(symbol) + if not fx: + return None + raw = FX_CONFIG["rates"].get(fx) + return Decimal(raw) if raw is not None else None + + +def build_live_balances() -> Dict[str, Any]: + audit_dir = ROOT / "reports" / "deployer-token-audit" + latest_balances = latest_file(audit_dir, "deployer-token-balances-*.json") + if not latest_balances: + raise FileNotFoundError("Missing deployer-token-balances audit JSON") + latest_access = latest_file(audit_dir, "deployer-token-access-*.csv") + refresh_live = os.environ.get("EXTRACTION_GAP_CLOSURE_REFRESH_BALANCES", "").strip() == "1" + + source = load_json(latest_balances) + active = [] + for row in source.get("balances", []): + formatted = row.get("balance_formatted") + if formatted in (None, "0", ""): + continue + if row.get("query_status") != "ok": + continue + token_symbol = row["token_symbol"] + chain_id = str(row["chain_id"]) + rpc_env_name = row.get("rpc_source") or CHAIN_INFO.get(chain_id, {}).get("rpc_env") + live_raw = int(row["balance_raw"]) + live_status = STATUS_INF + if refresh_live and rpc_env_name: + rpc_url = env_rpc(rpc_env_name) + if rpc_url: + try: + live_raw = call_balance_of(rpc_url, row["token_address"], CANONICAL_WALLET) + live_status = STATUS_LIVE + except Exception: + live_raw = int(row["balance_raw"]) + live_status = STATUS_INF + live_amt = decode_decimal_amount(live_raw, int(row["decimals"])) + price = price_for_symbol(token_symbol) + usd = (live_amt * price) if price is not None else None + active.append( + { + "chain_id": chain_id, + "chain_name": row["chain_name"], + "symbol": token_symbol, + "token_address": row["token_address"], + "decimals": int(row["decimals"]), + "wallet_address": CANONICAL_WALLET, + "wallet_source": row.get("wallet_source"), + "rpc_source": rpc_env_name, + "balance_raw": str(live_raw), + "balance": str(live_amt.normalize()), + "estimated_usd": str(usd) if usd is not None else None, + "valuation_status": STATUS_INF if price is not None else STATUS_MANUAL, + "balance_status": live_status, + "balance_basis": "live-rpc" if live_status == STATUS_LIVE else "latest-audit", + } + ) + + native_balances = [] + for chain_id, meta in CHAIN_INFO.items(): + rpc_url = env_rpc(meta["rpc_env"]) + if not rpc_url: + continue + try: + raw = int(eth_get_balance(rpc_url, CANONICAL_WALLET), 16) + amt = Decimal(raw) / (Decimal(10) ** 18) + px_raw = FX_CONFIG["rates"].get(meta["native_symbol"]) + native_balances.append( + { + "chain_id": chain_id, + "chain_name": meta["name"], + "symbol": meta["native_symbol"], + "balance_raw": str(raw), + "balance": str(amt), + "estimated_usd": str(amt * Decimal(px_raw)) if px_raw else None, + "status": STATUS_LIVE, + } + ) + except Exception: + continue + + access_rows = [] + if latest_access and latest_access.exists(): + with latest_access.open() as fh: + for row in csv.DictReader(fh): + access_rows.append(row) + + return { + "source_balance_audit": str(latest_balances.relative_to(ROOT)), + "source_access_audit": str(latest_access.relative_to(ROOT)) if latest_access else None, + "fx": FX_CONFIG, + "active_token_balances": active, + "native_balances": native_balances, + "token_access_rows": access_rows, + } + + +def load_mainnet_pmm_pools() -> List[Dict[str, Any]]: + status_json = load_json(ROOT / "cross-chain-pmm-lps" / "config" / "deployment-status.json") + pools = [] + for row in status_json.get("chains", {}).get("1", {}).get("pmmPools", []): + if row.get("base") in {"cWUSDC", "cWUSDT"}: + pools.append(row) + return pools + + +def pick_pool(base: str, quote: str) -> Optional[Dict[str, Any]]: + for row in load_mainnet_pmm_pools(): + if row.get("base") == base and row.get("quote") == quote: + return row + return None + + +def route_rank(route_id: str) -> Tuple[str, str]: + if route_id in {"eth-cwusdc-direct-usdc", "eth-cwusdt-direct-usdt"}: + return ("primary", "Direct mainnet cW to canonical stable exit with verified public PMM pool.") + if route_id in {"chain138-cusdc-to-eth-usdc", "chain138-cusdt-to-eth-usdt"}: + return ("secondary", "Bridge plus mainnet PMM exit; final depth constrained by shallow public cW/canonical pools.") + if route_id == "chain138-stable-lp-to-eth-stables": + return ("secondary", "LP withdrawal on Chain 138 is strong, but final external realization remains constrained by downstream cW exit depth.") + return ("experimental", "Fallback or partially verified route.") + + +def build_corridors() -> Dict[str, Any]: + cwusdc_pool = pick_pool("cWUSDC", "USDC") + cwusdt_pool = pick_pool("cWUSDT", "USDT") + fallback_pool = pick_pool("cWUSDT", "cWUSDC") + bridge_readiness = bridge_wallet_readiness() + bridge_by_symbol = {row["symbol"]: row for row in bridge_readiness["assets"]} + corridors = [ + { + "corridor_id": "chain138-stable-lp-to-eth-stables", + "source_chain": "138", + "source_asset": "Chain 138 stable LP claims", + "source_action": "Remove liquidity from cUSDT/cUSDC + cUSDT/USDT + cUSDC/USDC pools", + "bridge": "CW bridge corridor to Ethereum (manual-required verification of exact production path)", + "destination_chain": "1", + "destination_asset": "cWUSDC / cWUSDT", + "final_exit_surface": "Ethereum mainnet DODO PMM direct stable exits", + "final_asset": "Ethereum USDC / USDT or approved external stable wallet balances", + "route_type": "internal withdrawal + bridge + public DEX exit", + "status": STATUS_MANUAL, + "notes": [ + "LP ownership is directly verifiable on Chain 138.", + "Wallet-specific read-only bridge preflight now confirms the canonical v1 cUSDT/cUSDC -> Mainnet cWUSDT/cWUSDC wiring and fee quote path.", + "Bridge leg still remains manual-required for production readiness until a separate operator-approved live canary is executed.", + "Final exit depth is constrained by public Ethereum cW/canonical stable pools.", + ], + }, + { + "corridor_id": "chain138-cusdc-to-eth-usdc", + "source_chain": "138", + "source_asset": "cUSDC", + "source_action": "Bridge cUSDC to Ethereum cWUSDC", + "bridge": "CW bridge to Ethereum", + "destination_chain": "1", + "destination_asset": "cWUSDC", + "final_exit_surface": f"Ethereum DODO PMM {cwusdc_pool['poolAddress'] if cwusdc_pool else 'unknown'}", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "bridge + public DEX exit", + "status": STATUS_SIM, + "notes": [ + "Destination pool is verified in deployment-status.json.", + "Route is structurally valid but expected to be depth-constrained at the final PMM step.", + ], + }, + { + "corridor_id": "chain138-cusdt-to-eth-usdt", + "source_chain": "138", + "source_asset": "cUSDT", + "source_action": "Bridge cUSDT to Ethereum cWUSDT", + "bridge": "CW bridge to Ethereum", + "destination_chain": "1", + "destination_asset": "cWUSDT", + "final_exit_surface": f"Ethereum DODO PMM {cwusdt_pool['poolAddress'] if cwusdt_pool else 'unknown'}", + "final_asset": "Ethereum USDT / approved external stable wallet balances", + "route_type": "bridge + public DEX exit", + "status": STATUS_SIM, + "notes": [ + "Destination pool is verified in deployment-status.json.", + "Route is structurally valid but expected to be depth-constrained at the final PMM step.", + ], + }, + { + "corridor_id": "eth-cwusdc-direct-usdc", + "source_chain": "1", + "source_asset": "cWUSDC", + "source_action": "Swap cWUSDC directly into USDC on Ethereum", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "USDC", + "final_exit_surface": f"Ethereum DODO PMM {cwusdc_pool['poolAddress'] if cwusdc_pool else 'unknown'}", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "public DEX exit", + "status": STATUS_LIVE, + "notes": [ + "Wallet holds live cWUSDC on mainnet.", + "Aave-postable USDC is an approved terminal state after direct swap.", + ], + }, + { + "corridor_id": "eth-cwusdt-direct-usdt", + "source_chain": "1", + "source_asset": "cWUSDT", + "source_action": "Swap cWUSDT directly into USDT on Ethereum", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "USDT", + "final_exit_surface": f"Ethereum DODO PMM {cwusdt_pool['poolAddress'] if cwusdt_pool else 'unknown'}", + "final_asset": "Ethereum USDT / approved external stable wallet balances", + "route_type": "public DEX exit", + "status": STATUS_LIVE, + "notes": [ + "Wallet holds live cWUSDT on mainnet.", + "Direct exit exists, but pool depth is small relative to wallet inventory.", + ], + }, + { + "corridor_id": "eth-cwusdt-via-cwusdc-to-usdc", + "source_chain": "1", + "source_asset": "cWUSDT", + "source_action": "Swap cWUSDT to cWUSDC, then cWUSDC to USDC", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "cWUSDC then USDC", + "final_exit_surface": f"Ethereum DODO PMM {fallback_pool['poolAddress'] if fallback_pool else 'unknown'} + direct cWUSDC/USDC pool", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "multi-step public DEX exit", + "status": STATUS_SIM, + "notes": [ + "Fallback route only; the cWUSDT/cWUSDC pool is deep, but the final cWUSDC/USDC exit remains the limiting step.", + ], + }, + ] + for row in corridors: + rank, rank_note = route_rank(row["corridor_id"]) + row["rank"] = rank + row["ranking_note"] = rank_note + if row["corridor_id"] == "chain138-cusdc-to-eth-usdc": + row["bridge_readiness"] = bridge_by_symbol.get("cUSDC") + elif row["corridor_id"] == "chain138-cusdt-to-eth-usdt": + row["bridge_readiness"] = bridge_by_symbol.get("cUSDT") + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "bridge_wallet_readiness": bridge_readiness, + "corridors": corridors, + } + + +def render_corridor_markdown(data: Dict[str, Any]) -> str: + lines = [ + "# Canonical Exit Corridor Map", + "", + f"- Generated: `{data['generated_at']}`", + f"- Wallet: `{data['wallet']}`", + "- Status labels: `live-read`, `simulated`, `inferred`, `manual-required`", + "", + "## Summary", + "", + "| Corridor | Rank | Status | Final Asset | Notes |", + "|---|---|---|---|---|", + ] + for row in data["corridors"]: + lines.append( + f"| `{row['corridor_id']}` | `{row['rank']}` | `{row['status']}` | `{row['final_asset']}` | {row['ranking_note']} |" + ) + lines.extend(["", "## Corridors", ""]) + for row in data["corridors"]: + lines.extend( + [ + f"### {row['corridor_id']}", + "", + f"- Source: `{row['source_chain']}` / `{row['source_asset']}`", + f"- Source action: `{row['source_action']}`", + f"- Bridge: `{row['bridge']}`", + f"- Destination: `{row['destination_chain']}` / `{row['destination_asset']}`", + f"- Final exit surface: `{row['final_exit_surface']}`", + f"- Final asset: `{row['final_asset']}`", + f"- Route type: `{row['route_type']}`", + f"- Rank: `{row['rank']}`", + f"- Status: `{row['status']}`", + "- Notes:", + ] + ) + for note in row["notes"]: + lines.append(f" - {note}") + lines.append("") + return "\n".join(lines) + + +def infer_capacity_from_pool(pool_address: str, base_symbol: str, quote_symbol: str) -> Dict[str, Any]: + rpc = env_rpc("ETHEREUM_MAINNET_RPC") + if not rpc: + return { + "pool_address": pool_address, + "status": STATUS_MANUAL, + "reason": "ETHEREUM_MAINNET_RPC missing", + } + reserves = call_get_vault_reserve(rpc, pool_address) + if not reserves: + return { + "pool_address": pool_address, + "status": STATUS_MANUAL, + "reason": "Could not read getVaultReserve()", + } + base_raw, quote_raw = reserves + base_amt = decode_decimal_amount(base_raw) + quote_amt = decode_decimal_amount(quote_raw) + base_px = price_for_symbol(base_symbol) or Decimal("1") + quote_px = price_for_symbol(quote_symbol) or Decimal("1") + base_usd = base_amt * base_px + quote_usd = quote_amt * quote_px + usable_usd = min(base_usd, quote_usd) + return { + "pool_address": pool_address, + "status": STATUS_LIVE, + "base_symbol": base_symbol, + "quote_symbol": quote_symbol, + "base_reserve": str(base_amt), + "quote_reserve": str(quote_amt), + "base_reserve_usd": str(base_usd), + "quote_reserve_usd": str(quote_usd), + "usable_side_usd": str(usable_usd), + } + + +def build_tranche_thresholds() -> Dict[str, Any]: + return { + "generated_at": now_utc(), + "status": STATUS_INF, + "wallet": CANONICAL_WALLET, + "sizes_usd": [10000, 25000, 50000, 100000], + "thresholds": { + "max_simulated_slippage_pct": 5.0, + "max_fee_pct": 1.0, + "max_bridge_latency_seconds": 1800, + "max_operational_steps": 3, + }, + "notes": [ + "These thresholds are for dry-run and simulation gating only.", + "Any route with manual-required bridge steps is automatically capped unless bridged live in a separate operator workflow.", + ], + } + + +def estimate_pass_fail(size_usd: Decimal, usable_usd: Decimal) -> Tuple[bool, Decimal]: + if usable_usd <= 0: + return False, Decimal("100") + ratio = size_usd / usable_usd + slip = ratio * Decimal("100") + return ratio <= Decimal("0.05"), slip + + +def build_tranche_capacity() -> Dict[str, Any]: + corridors = build_corridors()["corridors"] + thresholds = build_tranche_thresholds() + sizes = [Decimal(str(x)) for x in thresholds["sizes_usd"]] + results = [] + for corridor in corridors: + entry: Dict[str, Any] = { + "corridor_id": corridor["corridor_id"], + "rank": corridor["rank"], + "status": corridor["status"], + "tests": [], + "quote_quality": "manual", + "operational_complexity": "medium", + "fallback_route": None, + "max_safe_tranche": 0, + "max_daily_cadence": "0/day", + "labels": [], + } + if corridor["corridor_id"] == "eth-cwusdc-direct-usdc": + pool = pick_pool("cWUSDC", "USDC") + capacity = infer_capacity_from_pool(pool["poolAddress"], "cWUSDC", "USDC") if pool else None + entry["supporting_surface"] = capacity + elif corridor["corridor_id"] == "eth-cwusdt-direct-usdt": + pool = pick_pool("cWUSDT", "USDT") + capacity = infer_capacity_from_pool(pool["poolAddress"], "cWUSDT", "USDT") if pool else None + entry["supporting_surface"] = capacity + elif corridor["corridor_id"] == "eth-cwusdt-via-cwusdc-to-usdc": + leg1 = pick_pool("cWUSDT", "cWUSDC") + leg2 = pick_pool("cWUSDC", "USDC") + cap1 = infer_capacity_from_pool(leg1["poolAddress"], "cWUSDT", "cWUSDC") if leg1 else None + cap2 = infer_capacity_from_pool(leg2["poolAddress"], "cWUSDC", "USDC") if leg2 else None + usable = min( + Decimal(cap1["usable_side_usd"]) if cap1 and cap1.get("usable_side_usd") else Decimal("0"), + Decimal(cap2["usable_side_usd"]) if cap2 and cap2.get("usable_side_usd") else Decimal("0"), + ) + entry["supporting_surface"] = {"leg_1": cap1, "leg_2": cap2, "usable_side_usd": str(usable)} + else: + entry["labels"].append(STATUS_MANUAL if corridor["status"] == STATUS_MANUAL else STATUS_SIM) + entry["quote_quality"] = "simulated" + entry["operational_complexity"] = "high" if "bridge" in corridor["route_type"] else "medium" + for size in sizes: + entry["tests"].append( + { + "size_usd": str(size), + "status": STATUS_MANUAL if corridor["status"] == STATUS_MANUAL else STATUS_SIM, + "result": "manual-required" if corridor["status"] == STATUS_MANUAL else "constrained", + "slippage_estimate_pct": None, + "fee_estimate_pct": None, + "bridge_latency_estimate_seconds": 300 if "bridge" in corridor["route_type"] else 0, + "notes": [ + "Route capacity depends on downstream cW/canonical stable pool depth.", + "Exact realized output requires live route execution or bridge-specific simulation outside this pack.", + ], + } + ) + entry["max_safe_tranche"] = 0 + entry["max_daily_cadence"] = "manual-only" + results.append(entry) + continue + + usable_side = Decimal(entry["supporting_surface"].get("usable_side_usd", "0")) + entry["quote_quality"] = "reserve-heuristic" + entry["fallback_route"] = "eth-cwusdt-via-cwusdc-to-usdc" if corridor["corridor_id"] == "eth-cwusdt-direct-usdt" else None + safe = 0 + passes = 0 + for size in sizes: + ok, slip = estimate_pass_fail(size, usable_side) + entry["tests"].append( + { + "size_usd": str(size), + "status": STATUS_SIM, + "result": "pass" if ok else "threshold-breach", + "slippage_estimate_pct": str(slip.quantize(Decimal("0.01"))), + "fee_estimate_pct": "0.30", + "bridge_latency_estimate_seconds": 0, + "notes": [ + "Simulation is conservative and based on smallest verified PMM reserve side.", + "No live trade was sent; route uses public pool reserves as a proxy for tranche safety.", + ], + } + ) + if ok: + safe = int(size) + passes += 1 + else: + break + entry["max_safe_tranche"] = safe + entry["max_daily_cadence"] = "3/day" if passes >= 3 else ("1/day" if passes >= 1 else "0/day") + results.append(entry) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "threshold_config": build_tranche_thresholds(), + "corridors": results, + } + + +def render_tranche_markdown(data: Dict[str, Any]) -> str: + lines = [ + "# Corridor Tranche Capacity Report", + "", + f"- Generated: `{data['generated_at']}`", + f"- Wallet: `{data['wallet']}`", + "- This report is intentionally conservative. Live trades are not sent by this pack.", + "", + "## Summary", + "", + "| Corridor | Status | Max Safe Tranche | Daily Cadence | Quote Quality |", + "|---|---|---:|---|---|", + ] + for row in data["corridors"]: + lines.append( + f"| `{row['corridor_id']}` | `{row['status']}` | `${row['max_safe_tranche']:,}` | `{row['max_daily_cadence']}` | `{row['quote_quality']}` |" + ) + for row in data["corridors"]: + lines.extend(["", f"## {row['corridor_id']}", ""]) + lines.append(f"- Rank: `{row['rank']}`") + lines.append(f"- Status: `{row['status']}`") + lines.append(f"- Max safe tranche: `${row['max_safe_tranche']:,}`") + lines.append(f"- Max daily cadence: `{row['max_daily_cadence']}`") + if row.get("fallback_route"): + lines.append(f"- Fallback route: `{row['fallback_route']}`") + lines.append("") + lines.append("| Size USD | Result | Slippage Est % | Notes |") + lines.append("|---:|---|---:|---|") + for test in row["tests"]: + notes = "; ".join(test["notes"]) + lines.append( + f"| ${int(Decimal(test['size_usd'])):,} | `{test['result']}` | `{test['slippage_estimate_pct']}` | {notes} |" + ) + return "\n".join(lines) + + +def build_lp_verification() -> Dict[str, Any]: + rpc = env_rpc("RPC_URL_138") + if not rpc: + raise RuntimeError("RPC_URL_138 is required") + integration = "0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895" + preview_deadline = int(time.time()) + 3600 + bridge_readiness = bridge_wallet_readiness() + pools = [] + for row in CHAIN138_STABLE_POOLS: + wallet_lp = call_balance_of(rpc, row["pool_address"], CANONICAL_WALLET) + total_supply = call_total_supply(rpc, row["pool_address"]) + share = Decimal(wallet_lp) / Decimal(total_supply) if total_supply else Decimal(0) + base_raw = call_balance_of(rpc, row["base_token"], row["pool_address"]) + quote_raw = call_balance_of(rpc, row["quote_token"], row["pool_address"]) + wallet_base = Decimal(base_raw) * share + wallet_quote = Decimal(quote_raw) * share + test_share_amount = max(1, wallet_lp // 1000) + direct_allowance_to_integration = call_allowance(rpc, row["pool_address"], CANONICAL_WALLET, integration) + preview_base, preview_quote = call_sell_shares_preview( + rpc, + row["pool_address"], + CANONICAL_WALLET, + test_share_amount, + CANONICAL_WALLET, + 0, + 0, + preview_deadline, + ) + scenarios = [] + for label, pct in [("test-withdrawal", Decimal("0.01")), ("planned-partial", Decimal("0.25")), ("emergency-full", Decimal("1.00"))]: + scenarios.append( + { + "mode": label, + "percentage_of_wallet_lp": str((pct * Decimal("100")).quantize(Decimal("0.01"))), + "lp_tokens_to_burn_raw": str((Decimal(wallet_lp) * pct).to_integral_value()), + "expected_base_out": str((wallet_base * pct / Decimal(10**6)).quantize(Decimal("0.000001"))), + "expected_quote_out": str((wallet_quote * pct / Decimal(10**6)).quantize(Decimal("0.000001"))), + "status": STATUS_SIM, + } + ) + pools.append( + { + "pair": row["pair"], + "pool_address": row["pool_address"], + "wallet_lp_balance_raw": str(wallet_lp), + "pool_total_supply_raw": str(total_supply), + "wallet_share_fraction": str(share), + "base_symbol": row["base_symbol"], + "quote_symbol": row["quote_symbol"], + "pool_base_reserve_raw": str(base_raw), + "pool_quote_reserve_raw": str(quote_raw), + "wallet_claim_base_raw": str(int(wallet_base)), + "wallet_claim_quote_raw": str(int(wallet_quote)), + "wallet_claim_base_human": str(decode_decimal_amount(int(wallet_base))), + "wallet_claim_quote_human": str(decode_decimal_amount(int(wallet_quote))), + "exact_remove_liquidity_call": { + "signature": "sellShares(uint256,address,uint256,uint256,bytes,uint256)", + "selector": SELECTOR_SELL_SHARES, + "mode": "direct pool call", + "preview_status": STATUS_LIVE, + "preview_test_share_amount_raw": str(test_share_amount), + "preview_expected_base_out": str(decode_decimal_amount(preview_base)), + "preview_expected_quote_out": str(decode_decimal_amount(preview_quote)), + "preview_deadline_unix": preview_deadline, + }, + "approval_requirements": { + "direct_call": { + "status": STATUS_LIVE, + "allowance_to_integration_raw": str(direct_allowance_to_integration), + "required": False, + "notes": [ + "Direct pool withdrawal uses sellShares(...) against the pool from the LP holder wallet.", + "The DODO DVM implementation burns _SHARES_[msg.sender] directly, so no LP allowance is needed for a direct owner call.", + "A delegated helper or proxy that relies on transferFrom() would require LP allowance or permit.", + ], + }, + "delegated_call": { + "status": STATUS_INF, + "required": True, + "notes": [ + "If a separate contract or helper is used to move LP shares first, it must have allowance or a permit on the LP token.", + "The canonical DODOPMMIntegration contract does not expose a remove-liquidity helper for these pools.", + ], + }, + }, + "withdrawal_readiness": { + "ownership_status": STATUS_LIVE, + "mechanics_status": STATUS_LIVE, + "direct_usability_status": STATUS_SIM, + "notes": [ + "ERC-20 LP ownership is directly verified by balanceOf + totalSupply.", + "Exact remove-liquidity surface is the pool-level sellShares(uint256,address,uint256,uint256,bytes,uint256) method.", + "The preview call was executed read-only against the live pool from the canonical wallet context; no transaction was broadcast.", + "Withdrawn stable outputs are directly usable in Chain 138 internal stable surfaces and may feed approved external corridors after bridge handling.", + ], + }, + "scenarios": scenarios, + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "rpc": rpc, + "integration_contract": integration, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "pools": pools, + "mainnet_bridge_wallet_readiness": bridge_readiness, + "remaining_manual_items": [ + "Run a small live LP withdrawal only under a separate operator-approved mutation workflow.", + "Run a small live cUSDT or cUSDC bridge canary to Mainnet only under a separate operator-approved mutation workflow.", + "If a delegated withdrawal helper is introduced later, verify LP allowance or permit handling in an isolated mutation-approved test flow.", + ], + } + + +def render_lp_markdown(data: Dict[str, Any]) -> str: + lines = [ + "# Stable LP Withdrawal Verification Runbook", + "", + f"- Generated: `{data['generated_at']}`", + f"- Wallet: `{data['wallet']}`", + f"- RPC: `{data['rpc']}`", + "- Status labels: `live-read`, `simulated`, `inferred`, `manual-required`", + "", + "## Pool Summary", + "", + "| Pair | Share | Base Claim | Quote Claim | Mechanics |", + "|---|---:|---:|---:|---|", + ] + for pool in data["pools"]: + lines.append( + f"| `{pool['pair']}` | `{pool['wallet_share_fraction']}` | `{pool['wallet_claim_base_human']}` {pool['base_symbol']} | `{pool['wallet_claim_quote_human']}` {pool['quote_symbol']} | `{pool['withdrawal_readiness']['mechanics_status']}` |" + ) + for pool in data["pools"]: + lines.extend(["", f"## {pool['pair']}", ""]) + lines.append(f"- Pool address: `{pool['pool_address']}`") + lines.append(f"- Wallet LP balance raw: `{pool['wallet_lp_balance_raw']}`") + lines.append(f"- Pool total supply raw: `{pool['pool_total_supply_raw']}`") + lines.append(f"- Wallet share fraction: `{pool['wallet_share_fraction']}`") + exact = pool["exact_remove_liquidity_call"] + lines.append(f"- Exact remove-liquidity signature: `{exact['signature']}`") + lines.append(f"- Selector: `{exact['selector']}`") + lines.append(f"- Preview test share amount: `{exact['preview_test_share_amount_raw']}`") + lines.append(f"- Preview expected base out: `{exact['preview_expected_base_out']}` {pool['base_symbol']}") + lines.append(f"- Preview expected quote out: `{exact['preview_expected_quote_out']}` {pool['quote_symbol']}") + lines.append(f"- Direct-call LP allowance to integration: `{pool['approval_requirements']['direct_call']['allowance_to_integration_raw']}`") + lines.append("- Notes:") + for note in pool["withdrawal_readiness"]["notes"]: + lines.append(f" - {note}") + for note in pool["approval_requirements"]["direct_call"]["notes"]: + lines.append(f" - {note}") + lines.append("") + lines.append("| Mode | LP Burn Raw | Expected Base Out | Expected Quote Out | Status |") + lines.append("|---|---:|---:|---:|---|") + for scenario in pool["scenarios"]: + lines.append( + f"| `{scenario['mode']}` | `{scenario['lp_tokens_to_burn_raw']}` | `{scenario['expected_base_out']}` | `{scenario['expected_quote_out']}` | `{scenario['status']}` |" + ) + lines.extend(["", "## Mainnet Bridge Wallet Readiness", "", "| Asset | L1 Dest Enabled | L1 Receiver | Fee Quote (1 token) | Mainnet Mirrored | Corridor Ready |", "|---|---|---|---:|---|---|"]) + for row in data["mainnet_bridge_wallet_readiness"]["assets"]: + lines.append( + f"| `{row['symbol']}` | `{row.get('l1_destination_enabled')}` | `{row.get('l1_destination_receiver')}` | `{row.get('fee_quote_1_token_wei')}` | `{row.get('mainnet_mirrored_token')}` | `{row.get('corridor_ready')}` |" + ) + lines.extend(["", "## Manual-Required Items", ""]) + for item in data["remaining_manual_items"]: + lines.append(f"- {item}") + return "\n".join(lines) + + +def build_realizable_capital_ladder() -> Dict[str, Any]: + balances = build_live_balances() + lp = build_lp_verification() + rows = [] + class_totals: Dict[str, Decimal] = {k: Decimal("0") for k in ["A", "B", "C", "D", "E"]} + + focus = {"cUSDC", "cUSDT", "cXAUC", "cXAUT", "cWUSDC", "cWUSDT", "cWXAUC", "cWXAUT"} + + for row in balances["active_token_balances"]: + symbol = row["symbol"] + if symbol not in focus and not symbol.startswith(("cW", "c")): + continue + asset_class = "D" + confidence = "medium" + dependency_count = 2 + speed = "same-day" + bottleneck = "public exit depth" + notes = [] + if row["chain_id"] == "1" and symbol in {"cWUSDC", "cWUSDT"}: + asset_class = "B" + confidence = "high" + dependency_count = 1 + speed = "same-hour" + bottleneck = "shallow direct cW/canonical PMM pool" + elif row["chain_id"] == "138" and symbol in {"cUSDC", "cUSDT"}: + asset_class = "C" + confidence = "medium" + dependency_count = 2 + speed = "same-day" + bottleneck = "bridge + downstream cW exit depth" + elif symbol in {"cXAUC", "cXAUT", "cWXAUC", "cWXAUT"}: + asset_class = "E" + confidence = "low" + dependency_count = 3 + speed = "multi-day or indeterminate" + bottleneck = "nominal value exceeds verified public exit depth" + elif symbol in {"cEURC", "cEURT", "cGBPC", "cGBPT", "cAUDC", "cCADC", "cCHFC", "cJPYC", "cWEURC", "cWEURT", "cWGBPC", "cWGBPT", "cWAUDC", "cWCADC", "cWCHFC", "cWJPYC"}: + asset_class = "D" + confidence = "low" + dependency_count = 2 + speed = "same-day or multi-day" + bottleneck = "no verified deep canonical exit corridor" + usd = Decimal(row["estimated_usd"]) if row["estimated_usd"] is not None else Decimal("0") + class_totals[asset_class] += usd + rows.append( + { + "chain": row["chain_name"], + "chain_id": row["chain_id"], + "symbol": symbol, + "balance": row["balance"], + "estimated_usd": row["estimated_usd"], + "realizability_class": asset_class, + "confidence": confidence, + "dependency_count": dependency_count, + "realization_speed": speed, + "bottleneck": bottleneck, + "status": row["balance_status"], + "notes": notes, + } + ) + + for pool in lp["pools"]: + base_symbol = pool["base_symbol"] + quote_symbol = pool["quote_symbol"] + base_px = price_for_symbol(base_symbol) or Decimal("1") + quote_px = Decimal("1") + base_usd = Decimal(pool["wallet_claim_base_human"]) * base_px + quote_usd = Decimal(pool["wallet_claim_quote_human"]) * quote_px + est = base_usd + quote_usd + class_totals["C"] += est + rows.append( + { + "chain": "Chain 138", + "chain_id": "138", + "symbol": f"LP:{pool['pair']}", + "balance": pool["wallet_share_fraction"], + "estimated_usd": str(est), + "realizability_class": "C", + "confidence": "medium", + "dependency_count": 2, + "realization_speed": "same-day", + "bottleneck": "LP removal plus downstream bridge/exit depth", + "status": STATUS_SIM, + "notes": ["LP claim is strong internally but still depends on external realization routes."], + } + ) + + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "valuation_config": FX_CONFIG, + "assets": rows, + "class_subtotals_usd": {k: str(v) for k, v in class_totals.items()}, + } + + +def render_ladder_markdown(data: Dict[str, Any]) -> str: + lines = [ + "# Realizable Capital Ladder", + "", + f"- Generated: `{data['generated_at']}`", + f"- Wallet: `{data['wallet']}`", + "- Realizability classes:", + " - `A`: canonical stable now", + " - `B`: one move to canonical stable", + " - `C`: bridge + exit required", + " - `D`: thin / constrained", + " - `E`: nominal only / not operationally realizable now", + "", + "## Class Subtotals", + "", + "| Class | Estimated USD |", + "|---|---:|", + ] + for klass, total in data["class_subtotals_usd"].items(): + lines.append(f"| `{klass}` | `${quantize_money(Decimal(total))}` |") + lines.extend(["", "## Asset Table", "", "| Chain | Symbol | Balance | Est. USD | Class | Speed | Bottleneck | Status |", "|---|---|---:|---:|---|---|---|---|"]) + for row in data["assets"]: + est = row["estimated_usd"] if row["estimated_usd"] is not None else "0" + lines.append( + f"| {row['chain']} | `{row['symbol']}` | `{row['balance']}` | `${quantize_money(Decimal(est))}` | `{row['realizability_class']}` | `{row['realization_speed']}` | {row['bottleneck']} | `{row['status']}` |" + ) + return "\n".join(lines) + + +def build_treasury_policy() -> Dict[str, Any]: + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status": STATUS_INF, + "buckets": { + "gas_reserve": { + "purpose": "Per-chain native gas needed to keep read/write optionality alive.", + "minimum_floor_usd": 25, + "movement_rule": "May top up from stable working capital only after operator review.", + }, + "stable_working_capital": { + "purpose": "Assets intentionally used for controlled extraction or collateral pilot workflows.", + "minimum_floor_usd": 250000, + "movement_rule": "Use only through approved corridors with ledgered outputs.", + }, + "bridge_inventory": { + "purpose": "Assets whose main role is to move value between Chain 138 and public chains.", + "minimum_floor_usd": 0, + "movement_rule": "Use only when route health is green and fallback exists.", + }, + "lp_reserve": { + "purpose": "LP claims that currently anchor internal stable liquidity.", + "minimum_floor_usd": 1000000, + "movement_rule": "Planned partial or emergency full only; no ad hoc removal.", + }, + "non_core_wrappers": { + "purpose": "Wrapped or synthetic assets without near-term reliable canonical exits.", + "minimum_floor_usd": 0, + "movement_rule": "Do not include in routine extraction forecasts.", + }, + "protected_reserve": { + "purpose": "Inventory intentionally excluded from routine extraction until stronger public depth exists.", + "minimum_floor_usd": 1000000, + "movement_rule": "No movement under this pack; manual governance only.", + }, + }, + "wallet_roles": { + "current_state": [ + { + "wallet": CANONICAL_WALLET, + "role": "mixed-use / overconcentrated", + "status": STATUS_LIVE, + "notes": "Current state collapses reserve, bridge inventory, LP custody, and extraction inventory into one wallet.", + } + ], + "target_state": [ + {"role": "execution", "status": STATUS_MANUAL, "notes": "Dedicated working wallet for approved exits only."}, + {"role": "reserve", "status": STATUS_MANUAL, "notes": "Protected reserve wallet with no routine route execution."}, + {"role": "external-canonical-stable", "status": STATUS_MANUAL, "notes": "Clean landing wallet for realized USDC/USDT only."}, + {"role": "testing", "status": STATUS_MANUAL, "notes": "Low-balance wallet for corridor rehearsal and approvals."}, + ], + }, + "movement_rules": [ + "No asset movement from protected reserve to execution wallet without manual operator sign-off.", + "Realized canonical stable balances should not be mixed with bridge inventory or non-core wrappers.", + "LP reserve withdrawals should follow the stable LP runbook and preserve reserve floor assumptions.", + ], + } + + +def build_treasury_assignment() -> Dict[str, Any]: + ladder = build_realizable_capital_ladder() + policy = build_treasury_policy() + assignments = [] + for row in ladder["assets"]: + symbol = row["symbol"] + bucket = "non_core_wrappers" + target_role = "reserve" + gap = [] + if symbol.startswith("LP:"): + bucket = "lp_reserve" + target_role = "reserve" + gap.append("Move LP custody to a dedicated reserve wallet before operational extraction.") + elif symbol in {"cWUSDC", "cWUSDT"}: + bucket = "bridge_inventory" + target_role = "execution" + gap.append("Split working tranche from long-tail inventory into dedicated execution wallet.") + elif symbol in {"cUSDC", "cUSDT"}: + bucket = "stable_working_capital" + target_role = "execution" + gap.append("Define exact sub-balance reserved for bridge inventory vs internal reserve.") + elif row["realizability_class"] == "E": + bucket = "protected_reserve" + target_role = "reserve" + gap.append("Do not route through routine extraction until public depth is materially stronger.") + else: + bucket = "non_core_wrappers" + target_role = "reserve" + gap.append("Treat as constrained inventory pending better canonical exits.") + assignments.append( + { + "symbol": symbol, + "chain": row["chain"], + "estimated_usd": row["estimated_usd"], + "realizability_class": row["realizability_class"], + "recommended_bucket": bucket, + "target_wallet_role": target_role, + "status": STATUS_INF, + "gap_to_target": gap, + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "policy": policy, + "assignments": assignments, + } + + +def render_treasury_markdown(data: Dict[str, Any]) -> str: + policy = data["policy"] + lines = [ + "# Treasury Segmentation Policy", + "", + f"- Generated: `{data['generated_at']}`", + f"- Current canonical wallet: `{data['wallet']}`", + "- This policy models current state plus target segmented state.", + "", + "## Bucket Policy", + "", + "| Bucket | Purpose | Minimum Floor USD |", + "|---|---|---:|", + ] + for name, bucket in policy["buckets"].items(): + lines.append(f"| `{name}` | {bucket['purpose']} | `${bucket['minimum_floor_usd']:,}` |") + lines.extend(["", "## Current vs Target Wallet Roles", ""]) + lines.append("### Current State") + for row in policy["wallet_roles"]["current_state"]: + lines.append(f"- `{row['wallet']}` -> `{row['role']}` ({row['notes']})") + lines.append("") + lines.append("### Target State") + for row in policy["wallet_roles"]["target_state"]: + lines.append(f"- `{row['role']}` -> {row['notes']}") + lines.extend(["", "## Asset Assignment", "", "| Symbol | Chain | Est. USD | Class | Bucket | Target Role |", "|---|---|---:|---|---|---|"]) + for row in data["assignments"]: + est = row["estimated_usd"] if row["estimated_usd"] is not None else "0" + lines.append( + f"| `{row['symbol']}` | {row['chain']} | `${quantize_money(Decimal(est))}` | `{row['realizability_class']}` | `{row['recommended_bucket']}` | `{row['target_wallet_role']}` |" + ) + lines.extend(["", "## Movement Rules", ""]) + for rule in policy["movement_rules"]: + lines.append(f"- {rule}") + return "\n".join(lines) + + +def build_pack_index() -> str: + return "\n".join( + [ + "# Extraction Gap Closure Pack", + "", + f"- Generated: `{now_utc()}`", + "- This pack is read-only / dry-run by default and is designed to close execution gaps around convertibility, realizable capital, LP access, and treasury segmentation.", + "", + "## Commands", + "", + "| Workstream | Command | JSON Output | Markdown Output |", + "|---|---|---|---|", + "| Canonical exit corridor map | `bash scripts/verify/build-canonical-exit-corridor-map.sh` | `config/extraction/canonical-exit-corridors.json` | `docs/03-deployment/CANONICAL_EXIT_CORRIDOR_MAP.md` |", + "| Tranche capacity tests | `bash scripts/verify/run-corridor-tranche-capacity-tests.sh` | `reports/extraction/corridor-capacity-latest.json` | `docs/03-deployment/CORRIDOR_TRANCHE_CAPACITY_REPORT.md` |", + "| Stable LP withdrawal verification | `bash scripts/verify/verify-stable-lp-withdrawal-readiness.sh` | `reports/extraction/stable-lp-verification-latest.json` | `docs/03-deployment/STABLE_LP_WITHDRAWAL_VERIFICATION_RUNBOOK.md` |", + "| Realizable capital ladder | `bash scripts/verify/build-realizable-capital-ladder.sh` | `reports/extraction/realizable-capital-ladder-latest.json` | `docs/03-deployment/REALIZABLE_CAPITAL_LADDER.md` |", + "| Treasury segmentation | `bash scripts/verify/build-treasury-segmentation-assignment.sh` | `reports/extraction/treasury-segmentation-assignment-latest.json` + `config/extraction/treasury-segmentation-policy.json` | `docs/03-deployment/TREASURY_SEGMENTATION_POLICY.md` |", + "| Full pack | `bash scripts/verify/run-extraction-gap-closure-pack.sh` | all | all |", + "| Validation | `bash scripts/validation/validate-extraction-gap-closure-pack.sh` | n/a | terminal output |", + "", + "## Status Labels", + "", + "- `live-read`: directly verified by read-only RPC or local machine-readable artifact during generation.", + "- `simulated`: no live funds moved; capacity or withdrawal behavior is inferred from reserves / balances / route structure.", + "- `inferred`: metadata or valuation layer built from curated repo intelligence and prior audit evidence.", + "- `manual-required`: action exists but cannot be confirmed safely inside this pack without a separate mutation workflow.", + ] + ) + + +def validate_pack() -> Tuple[bool, List[str]]: + errors: List[str] = [] + required = [ + CONFIG_DIR / "canonical-exit-corridors.json", + CONFIG_DIR / "tranche-thresholds.json", + CONFIG_DIR / "treasury-segmentation-policy.json", + REPORTS_DIR / "corridor-capacity-latest.json", + REPORTS_DIR / "stable-lp-verification-latest.json", + REPORTS_DIR / "realizable-capital-ladder-latest.json", + REPORTS_DIR / "treasury-segmentation-assignment-latest.json", + DOCS_DIR / "CANONICAL_EXIT_CORRIDOR_MAP.md", + DOCS_DIR / "CORRIDOR_TRANCHE_CAPACITY_REPORT.md", + DOCS_DIR / "STABLE_LP_WITHDRAWAL_VERIFICATION_RUNBOOK.md", + DOCS_DIR / "REALIZABLE_CAPITAL_LADDER.md", + DOCS_DIR / "TREASURY_SEGMENTATION_POLICY.md", + DOCS_DIR / "EXTRACTION_GAP_CLOSURE_PACK.md", + ] + for path in required: + if not path.exists(): + errors.append(f"missing required artifact: {path.relative_to(ROOT)}") + json_checks = [ + (CONFIG_DIR / "canonical-exit-corridors.json", ["corridors", "generated_at"]), + (REPORTS_DIR / "corridor-capacity-latest.json", ["corridors", "generated_at"]), + (REPORTS_DIR / "stable-lp-verification-latest.json", ["pools", "generated_at"]), + (REPORTS_DIR / "realizable-capital-ladder-latest.json", ["assets", "class_subtotals_usd"]), + (REPORTS_DIR / "treasury-segmentation-assignment-latest.json", ["assignments", "policy"]), + ] + for path, fields in json_checks: + if not path.exists(): + continue + try: + data = load_json(path) + except Exception as exc: + errors.append(f"invalid JSON in {path.relative_to(ROOT)}: {exc}") + continue + for field in fields: + if field not in data: + errors.append(f"{path.relative_to(ROOT)} missing field: {field}") + return (not errors, errors) + + +def cmd_corridors() -> None: + ensure_dirs() + data = build_corridors() + write_json(CONFIG_DIR / "canonical-exit-corridors.json", data) + write_text(DOCS_DIR / "CANONICAL_EXIT_CORRIDOR_MAP.md", render_corridor_markdown(data)) + + +def cmd_capacity() -> None: + ensure_dirs() + thresholds = build_tranche_thresholds() + write_json(CONFIG_DIR / "tranche-thresholds.json", thresholds) + data = build_tranche_capacity() + write_json(REPORTS_DIR / "corridor-capacity-latest.json", data) + write_text(DOCS_DIR / "CORRIDOR_TRANCHE_CAPACITY_REPORT.md", render_tranche_markdown(data)) + + +def cmd_lp() -> None: + ensure_dirs() + data = build_lp_verification() + write_json(REPORTS_DIR / "stable-lp-verification-latest.json", data) + write_text(DOCS_DIR / "STABLE_LP_WITHDRAWAL_VERIFICATION_RUNBOOK.md", render_lp_markdown(data)) + + +def cmd_ladder() -> None: + ensure_dirs() + data = build_realizable_capital_ladder() + write_json(REPORTS_DIR / "realizable-capital-ladder-latest.json", data) + write_text(DOCS_DIR / "REALIZABLE_CAPITAL_LADDER.md", render_ladder_markdown(data)) + + +def cmd_treasury() -> None: + ensure_dirs() + policy = build_treasury_policy() + write_json(CONFIG_DIR / "treasury-segmentation-policy.json", policy) + data = build_treasury_assignment() + write_json(REPORTS_DIR / "treasury-segmentation-assignment-latest.json", data) + write_text(DOCS_DIR / "TREASURY_SEGMENTATION_POLICY.md", render_treasury_markdown(data)) + + +def cmd_index() -> None: + ensure_dirs() + write_text(DOCS_DIR / "EXTRACTION_GAP_CLOSURE_PACK.md", build_pack_index()) + + +def cmd_validate() -> int: + ok, errors = validate_pack() + if ok: + print("[ok] extraction gap-closure pack validated") + return 0 + for err in errors: + print(f"[fail] {err}", file=sys.stderr) + return 1 + + +def main(argv: Optional[List[str]] = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument( + "command", + choices=["corridors", "capacity", "lp", "ladder", "treasury", "index", "validate"], + ) + args = parser.parse_args(argv) + + if args.command == "corridors": + cmd_corridors() + return 0 + if args.command == "capacity": + cmd_capacity() + return 0 + if args.command == "lp": + cmd_lp() + return 0 + if args.command == "ladder": + cmd_ladder() + return 0 + if args.command == "treasury": + cmd_treasury() + return 0 + if args.command == "index": + cmd_index() + return 0 + if args.command == "validate": + return cmd_validate() + return 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/lib/immediate_liquidity_expansion.py b/scripts/lib/immediate_liquidity_expansion.py new file mode 100644 index 00000000..37670bb1 --- /dev/null +++ b/scripts/lib/immediate_liquidity_expansion.py @@ -0,0 +1,823 @@ +#!/usr/bin/env python3 +""" +Immediate-liquidity expansion pack. + +Focuses on the next operator layer after the dry-run canary pack: +1. GRU V2 Mainnet bridge parity +2. V2 mint -> bridge -> pool-funding planning/execution +3. Mainnet quote-side funding plans for direct cW exits +4. Realize-to-canonical sweep planning/execution +5. Before/after liquidity-state reporting +""" + +from __future__ import annotations + +import argparse +import json +import os +import sys +import time +from decimal import Decimal, ROUND_DOWN, getcontext +from pathlib import Path +from typing import Any, Dict, List, Optional, Tuple + +import extraction_gap_closure as egc +import liquidity_improvement_pack as lip + +getcontext().prec = 50 + +ROOT = egc.ROOT +CONFIG_DIR = egc.CONFIG_DIR +REPORTS_DIR = egc.REPORTS_DIR +DOCS_DIR = egc.DOCS_DIR +CANONICAL_WALLET = egc.CANONICAL_WALLET +STATUS_LIVE = egc.STATUS_LIVE +STATUS_SIM = egc.STATUS_SIM +STATUS_INF = egc.STATUS_INF +STATUS_MANUAL = egc.STATUS_MANUAL + +THRESHOLDS_PATH = CONFIG_DIR / "immediate-liquidity-expansion-thresholds.json" +DOC_PATH = DOCS_DIR / "IMMEDIATE_LIQUIDITY_EXPANSION_PACK.md" + +USDC_MAINNET = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" +USDT_MAINNET = "0xdAC17F958D2ee523a2206206994597C13D831ec7" +CWUSDC_MAINNET = os.environ.get("CWUSDC_MAINNET", "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a") +CWUSDT_MAINNET = os.environ.get("CWUSDT_MAINNET", "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE") +CWUSDC_V2_MAINNET = os.environ.get("CWUSDC_V2_MAINNET", "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c") +CWUSDT_V2_MAINNET = os.environ.get("CWUSDT_V2_MAINNET", "0x7E8FF0DcC974F290a29968e9350800a6df674447") +CUSDC_V2_138 = os.environ.get("COMPLIANT_USDC_V2", "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d") +CUSDT_V2_138 = os.environ.get("COMPLIANT_USDT_V2", "0x9FBfab33882Efe0038DAa608185718b772EE5660") +L1_BRIDGE_138 = ( + os.environ.get("CW_MULTITOKEN_BRIDGE_L1_138") + or os.environ.get("CW_L1_BRIDGE_CHAIN138") + or os.environ.get("CHAIN138_L1_BRIDGE") + or egc.CHAIN138_L1_BRIDGE_DEFAULT +) +L2_BRIDGE_MAINNET = ( + os.environ.get("CW_MULTITOKEN_BRIDGE_L2_MAINNET") + or os.environ.get("CW_BRIDGE_MAINNET") + or egc.MAINNET_L2_BRIDGE_DEFAULT +) +MAINNET_SELECTOR = egc.ETH_MAINNET_SELECTOR + +OUTPUTS = { + "parity": REPORTS_DIR / "gru-v2-mainnet-bridge-parity-latest.json", + "quote_plan": REPORTS_DIR / "mainnet-quote-side-funding-plan-latest.json", + "v2_funding": REPORTS_DIR / "gru-v2-mainnet-funding-plan-latest.json", + "sweep_plan": REPORTS_DIR / "realize-to-canonical-sweep-plan-latest.json", + "delta": REPORTS_DIR / "liquidity-state-delta-latest.json", +} + +EXECUTION_OUTPUTS = { + "parity_run": REPORTS_DIR / "live-gru-v2-mainnet-bridge-parity-run-latest.json", + "quote_run": REPORTS_DIR / "live-mainnet-quote-side-funding-run-latest.json", + "v2_funding_run": REPORTS_DIR / "live-gru-v2-mainnet-funding-run-latest.json", + "sweep_run": REPORTS_DIR / "live-realize-to-canonical-sweep-run-latest.json", +} + +DIRECT_POOLS = [ + { + "pair": "cwusdc-usdc", + "pool_address": egc.pick_pool("cWUSDC", "USDC")["poolAddress"], + "source_symbol": "cWUSDC", + "source_token": CWUSDC_MAINNET, + "quote_symbol": "USDC", + "quote_token": USDC_MAINNET, + "v2_symbol": "cUSDC_V2", + "v2_token": CUSDC_V2_138, + }, + { + "pair": "cwusdt-usdt", + "pool_address": egc.pick_pool("cWUSDT", "USDT")["poolAddress"], + "source_symbol": "cWUSDT", + "source_token": CWUSDT_MAINNET, + "quote_symbol": "USDT", + "quote_token": USDT_MAINNET, + "v2_symbol": "cUSDT_V2", + "v2_token": CUSDT_V2_138, + }, + { + "pair": "cwusdcv2-usdc", + "pool_address": "0xf633D2617316096e876E9C693111B8e76CE95302", + "source_symbol": "cWUSDC_V2", + "source_token": CWUSDC_V2_MAINNET, + "quote_symbol": "USDC", + "quote_token": USDC_MAINNET, + "v2_symbol": "cUSDC_V2", + "v2_token": CUSDC_V2_138, + }, + { + "pair": "cwusdtv2-usdt", + "pool_address": "0x983D9ac22967209821C908e95FeACC37baA6fECA", + "source_symbol": "cWUSDT_V2", + "source_token": CWUSDT_V2_MAINNET, + "quote_symbol": "USDT", + "quote_token": USDT_MAINNET, + "v2_symbol": "cUSDT_V2", + "v2_token": CUSDT_V2_138, + }, +] + +V2_ASSETS = [ + { + "symbol": "cUSDC_V2", + "canonical_token": CUSDC_V2_138, + "mirrored_token": CWUSDC_V2_MAINNET, + "funding_pair": "cwusdcv2-usdc", + }, + { + "symbol": "cUSDT_V2", + "canonical_token": CUSDT_V2_138, + "mirrored_token": CWUSDT_V2_MAINNET, + "funding_pair": "cwusdtv2-usdt", + }, +] + + +def now_utc() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def write_json(path: Path, data: Dict[str, Any]) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(data, indent=2) + "\n") + + +def write_text(path: Path, text: str) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def load_json(path: Path) -> Dict[str, Any]: + return json.loads(path.read_text()) + + +def fmt_money(value: Decimal) -> str: + return f"{value.quantize(Decimal('0.01')):,}" + + +def thresholds() -> Dict[str, Any]: + data = { + "generated_at": now_utc(), + "status": STATUS_INF, + "wallet": CANONICAL_WALLET, + "direct_exit_support_fraction": "0.05", + "target_exit_usd": [25000, 100000, 250000, 1000000], + "default_target_exit_usd": 100000, + "default_sweep_raw": 1000000, + "sweep_slippage_bps": 100, + "notes": [ + "Target exit USD is translated into required usable-side reserves under the 5% direct-exit heuristic.", + "All deployment wrappers are dry-run by default and require an explicit --execute flag for mutations.", + ], + } + write_json(THRESHOLDS_PATH, data) + return data + + +def required_usable_raw(target_exit_usd: int, support_fraction: Decimal) -> int: + amount = (Decimal(target_exit_usd) / support_fraction) * Decimal(1_000_000) + return int(amount.to_integral_value(rounding=ROUND_DOWN)) + + +def latest_token_key_balance(token_key: str) -> Optional[Dict[str, Any]]: + audit_dir = ROOT / "reports" / "deployer-token-audit" + latest_balances = egc.latest_file(audit_dir, "deployer-token-balances-*.json") + if not latest_balances: + return None + payload = load_json(latest_balances) + for row in payload.get("balances", []): + if row.get("token_key") == token_key: + return row + return None + + +def latest_access_roles(token_key: str) -> Optional[Dict[str, Any]]: + audit_dir = ROOT / "reports" / "deployer-token-audit" + latest_access = egc.latest_file(audit_dir, "deployer-token-access-*.json") + if not latest_access: + return None + payload = load_json(latest_access) + for row in payload.get("access", []): + if row.get("token_key") == token_key: + return row.get("roles") + return None + + +def token_balance(rpc: Optional[str], token: str, wallet: str) -> Optional[int]: + if not rpc: + return None + try: + return egc.call_balance_of(rpc, token, wallet) + except Exception: + return None + + +def direct_pool_state() -> List[Dict[str, Any]]: + rpc_mainnet = egc.env_rpc("ETHEREUM_MAINNET_RPC") + rows: List[Dict[str, Any]] = [] + for pool in DIRECT_POOLS: + base_reserve = 0 + quote_reserve = 0 + wallet_source_balance_raw = "0" + wallet_quote_balance_raw = "0" + status = STATUS_MANUAL + if rpc_mainnet: + reserves = egc.call_get_vault_reserve(rpc_mainnet, pool["pool_address"]) + if reserves: + base_reserve, quote_reserve = reserves + status = STATUS_LIVE + source_balance = egc.call_balance_of(rpc_mainnet, pool["source_token"], CANONICAL_WALLET) + quote_balance = egc.call_balance_of(rpc_mainnet, pool["quote_token"], CANONICAL_WALLET) + wallet_source_balance_raw = str(source_balance) + wallet_quote_balance_raw = str(quote_balance) + usable_raw = min(base_reserve, quote_reserve) + current_capacity_usd = (Decimal(usable_raw) / Decimal(1_000_000)) * Decimal("0.05") + rows.append( + { + **pool, + "base_reserve_raw": str(base_reserve), + "quote_reserve_raw": str(quote_reserve), + "usable_side_raw": str(usable_raw), + "current_direct_exit_capacity_usd": str(current_capacity_usd), + "wallet_source_balance_raw": wallet_source_balance_raw, + "wallet_quote_balance_raw": wallet_quote_balance_raw, + "status": status, + "dry_run_surface": { + "returncode": 0 if status == STATUS_LIVE else 1, + "pool_surface": "reserve_only", + "quote_source": "onchain_reserve", + }, + } + ) + return rows + + +def build_gru_v2_mainnet_bridge_parity() -> Dict[str, Any]: + dry = lip.run_command(["bash", "scripts/verify/dry-run-gru-v2-cw-mainnet-corridor.sh", "--json"], timeout=30) + payload: Dict[str, Any] = {} + if dry["returncode"] == 0 and dry["stdout"].strip(): + payload = json.loads(dry["stdout"]) + asset_rows = [] + by_label = {row["label"]: row for row in payload.get("assets", [])} + v1_rows = [] + for label in ("cUSDT_V1", "cUSDC_V1"): + probe = by_label.get(label, {}) + v1_rows.append( + { + "symbol": label, + "canonical_token": probe.get("canonicalToken"), + "status": STATUS_LIVE if probe.get("corridorReady") else STATUS_MANUAL, + "corridor_ready": probe.get("corridorReady", False), + "l1_destination_wired": probe.get("l1DestinationWired", False), + "l2_token_pair_configured": probe.get("l2TokenPairConfigured", False), + "l1_fee_quote_ok": probe.get("l1FeeQuoteOk", False), + "mainnet_mirrored_token": probe.get("mainnetMirroredToken"), + "dry_run_probe": probe, + } + ) + for asset in V2_ASSETS: + probe = by_label.get(asset["symbol"], {}) + token_key = asset["symbol"] + balance_row = latest_token_key_balance(token_key) + roles = latest_access_roles(token_key) + asset_rows.append( + { + "symbol": asset["symbol"], + "canonical_token": asset["canonical_token"], + "mirrored_token": probe.get("mainnetMirroredToken") or asset["mirrored_token"], + "status": STATUS_LIVE if probe.get("corridorReady") else STATUS_MANUAL, + "corridor_ready": probe.get("corridorReady", False), + "l1_destination_wired": probe.get("l1DestinationWired", False), + "l2_token_pair_configured": probe.get("l2TokenPairConfigured", False), + "l1_fee_quote_ok": probe.get("l1FeeQuoteOk", False), + "current_chain138_balance_raw": balance_row.get("balance_raw") if balance_row else None, + "operator_roles": roles, + "dry_run_probe": probe, + "configure_pair_command": ( + "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh " + f"--asset {asset['symbol']}" + ), + "execute_pair_command": ( + "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh " + f"--asset {asset['symbol']} --execute" + ), + } + ) + v2_ready = all(row["corridor_ready"] for row in asset_rows) + coexistence_ready = v2_ready and all(row["corridor_ready"] for row in v1_rows) + v1_displaced = [ + row["symbol"] + for row in v1_rows + if row["l1_destination_wired"] and row["l1_fee_quote_ok"] and not row["l2_token_pair_configured"] + ] + v2_distinct_mirrors = all( + row.get("mirrored_token") and row.get("mirrored_token").lower() not in {CWUSDT_MAINNET.lower(), CWUSDC_MAINNET.lower()} + for row in asset_rows + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "overall_ready": v2_ready, + "coexistence_ready": coexistence_ready, + "lane_policy": { + "status": STATUS_LIVE if v2_ready else STATUS_MANUAL, + "shared_mirrored_lanes_on_mainnet": not coexistence_ready, + "v2_cutover_active": v2_ready and not coexistence_ready, + "v1_displaced_assets": v1_displaced, + "coexistence_requires_distinct_mirrored_tokens": True, + "distinct_v2_mirrors_live": v2_distinct_mirrors, + "notes": [ + "The deployed Mainnet CWMultiTokenBridgeL2 uses a one-to-one mirroredToken -> canonicalToken mapping.", + "configureTokenPair(canonical, mirrored) clears the previous canonical mapping for the same mirrored token.", + "True V1/V2 coexistence requires distinct V2 mirrored tokens.", + "The live parity state is coexistence-ready when both V1 legacy lanes and V2 distinct lanes are mapped at once.", + ], + "code_reference": "smom-dbis-138/contracts/bridge/CWMultiTokenBridgeL2.sol:88", + }, + "l1_bridge_138": L1_BRIDGE_138, + "l2_bridge_mainnet": L2_BRIDGE_MAINNET, + "mainnet_selector": MAINNET_SELECTOR, + "assets": asset_rows, + "v1_reference_assets": v1_rows, + "dry_run_result": payload or {"status": STATUS_MANUAL, "stderr": dry["stderr"]}, + } + + +def build_mainnet_quote_side_funding_plan() -> Dict[str, Any]: + cfg = thresholds() + support_fraction = Decimal(cfg["direct_exit_support_fraction"]) + rows = [] + for state in direct_pool_state(): + base_reserve = int(state["base_reserve_raw"]) + quote_reserve = int(state["quote_reserve_raw"]) + wallet_base = int(state["wallet_source_balance_raw"]) + wallet_quote = int(state["wallet_quote_balance_raw"]) + targets = [] + for target_usd in cfg["target_exit_usd"]: + req_raw = required_usable_raw(int(target_usd), support_fraction) + quote_only_add = max(0, min(req_raw, base_reserve) - quote_reserve) + full_base_add = max(0, req_raw - base_reserve) + full_quote_add = max(0, req_raw - quote_reserve) + capacity_after_quote_only = ( + Decimal(min(base_reserve, quote_reserve + quote_only_add)) / Decimal(1_000_000) + ) * support_fraction + targets.append( + { + "target_exit_usd": target_usd, + "required_usable_side_raw": str(req_raw), + "quote_only_add_raw": str(quote_only_add), + "full_target_base_add_raw": str(full_base_add), + "full_target_quote_add_raw": str(full_quote_add), + "wallet_can_fund_quote_only_now": wallet_quote >= quote_only_add and wallet_base >= 1, + "wallet_can_fund_full_now": wallet_quote >= full_quote_add and wallet_base >= full_base_add, + "projected_capacity_after_quote_only_usd": str(capacity_after_quote_only), + "quote_only_command": ( + "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh " + f"--pair={state['pair']} --mode=quote-only --target-usd={target_usd}" + ), + "full_target_command": ( + "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh " + f"--pair={state['pair']} --mode=full-target --target-usd={target_usd}" + ), + } + ) + rows.append( + { + **state, + "target_table": targets, + "recommended_next_quote_only_target_usd": next( + (row["target_exit_usd"] for row in targets if int(row["quote_only_add_raw"]) > 0), + None, + ), + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "thresholds": cfg, + "pools": rows, + } + + +def funding_target_row(pair: str, target_usd: int) -> Dict[str, Any]: + plan = build_mainnet_quote_side_funding_plan() + pool = next(row for row in plan["pools"] if row["pair"] == pair) + return next(row for row in pool["target_table"] if int(row["target_exit_usd"]) == target_usd) + + +def build_gru_v2_mainnet_funding_plan() -> Dict[str, Any]: + cfg = thresholds() + target_usd = int(cfg["default_target_exit_usd"]) + parity = build_gru_v2_mainnet_bridge_parity() + rows = [] + for asset in V2_ASSETS: + pair = asset["funding_pair"] + target = funding_target_row(pair, target_usd) + current_row = latest_token_key_balance(asset["symbol"]) + current_v2_balance = int(current_row["balance_raw"]) if current_row else 0 + bridge_amount = int(target["full_target_base_add_raw"]) + mint_needed = max(0, bridge_amount - current_v2_balance) + quote_needed = int(target["full_target_quote_add_raw"]) + rows.append( + { + "symbol": asset["symbol"], + "canonical_token": asset["canonical_token"], + "mirrored_token": asset["mirrored_token"], + "funding_pair": pair, + "status": STATUS_SIM if parity["overall_ready"] else STATUS_MANUAL, + "parity_required": not parity["overall_ready"], + "lane_cutover_active": parity["lane_policy"]["v2_cutover_active"], + "v1_coexistence_ready": parity["coexistence_ready"], + "target_exit_usd": target_usd, + "current_chain138_balance_raw": str(current_v2_balance), + "bridge_amount_raw": str(bridge_amount), + "mint_needed_raw": str(mint_needed), + "quote_side_requirement_raw": str(quote_needed), + "wallet_can_fund_quote_side_now": int(target["full_target_quote_add_raw"]) <= 0 + or bool(target["wallet_can_fund_full_now"]), + "capital_movement_required": True, + "mint_command": ( + f"cast send {asset['canonical_token']} " + "\"mint(address,uint256)\" " + f"{CANONICAL_WALLET} {mint_needed} " + "--rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy" + ), + "bridge_command": ( + "bash scripts/bridge/bridge-canonical-token-to-mainnet-cw.sh " + f"--label {asset['symbol']} " + f"--canonical-token {asset['canonical_token']} " + f"--mirrored-token {asset['mirrored_token']} " + f"--raw-amount {bridge_amount} " + f"--recipient {CANONICAL_WALLET} --approve" + ), + "fund_pool_command": ( + "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh " + f"--pair={pair} --mode=full-target --target-usd={target_usd}" + ), + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "default_target_exit_usd": target_usd, + "parity_state": parity, + "assets": rows, + } + + +def build_realize_to_canonical_sweep_plan() -> Dict[str, Any]: + cfg = thresholds() + quote_plan = build_mainnet_quote_side_funding_plan() + if lip.OUTPUTS["capital_state"].exists(): + current_capital = load_json(lip.OUTPUTS["capital_state"]) + else: + current_capital = { + "status": STATUS_MANUAL, + "note": "capital-state artifact missing; regenerate the base liquidity improvement pack first", + } + rows = [] + for state in quote_plan["pools"]: + current_capacity = Decimal(state["current_direct_exit_capacity_usd"]) + target = next(item for item in state["target_table"] if int(item["target_exit_usd"]) == int(cfg["default_target_exit_usd"])) + current_amount_raw = min(int(cfg["default_sweep_raw"]), int(state["wallet_source_balance_raw"])) + rows.append( + { + "pair": state["pair"], + "symbol": state["source_symbol"], + "target_symbol": state["quote_symbol"], + "status": STATUS_SIM, + "current_direct_exit_capacity_usd": str(current_capacity), + "post_funding_target_exit_usd": str(target["target_exit_usd"]), + "current_sweep_command": ( + "bash scripts/deployment/run-realize-to-canonical-sweep.sh " + f"--pair={state['pair']} --amount-raw={current_amount_raw}" + ), + "post_funding_sweep_command": ( + "bash scripts/deployment/run-realize-to-canonical-sweep.sh " + f"--pair={state['pair']} --amount-usd={target['target_exit_usd']}" + ), + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "current_capital_state": current_capital, + "quote_side_plan_reference": str(OUTPUTS["quote_plan"].relative_to(ROOT)), + "routes": rows, + } + + +def build_liquidity_state_delta() -> Dict[str, Any]: + cfg = thresholds() + before = lip.build_capital_state() + quote_plan = build_mainnet_quote_side_funding_plan() + default_target = int(cfg["default_target_exit_usd"]) + direct_before = sum(Decimal(row["current_direct_exit_capacity_usd"]) for row in quote_plan["pools"]) + direct_after = Decimal("0") + quote_only_after = Decimal("0") + scenarios = [] + for row in quote_plan["pools"]: + target = next(item for item in row["target_table"] if int(item["target_exit_usd"]) == default_target) + direct_after += Decimal(default_target) + quote_only_after += Decimal(target["projected_capacity_after_quote_only_usd"]) + scenarios.append( + { + "pair": row["pair"], + "before_direct_exit_capacity_usd": row["current_direct_exit_capacity_usd"], + "after_quote_only_capacity_usd": target["projected_capacity_after_quote_only_usd"], + "after_full_target_capacity_usd": str(default_target), + "quote_only_add_raw": target["quote_only_add_raw"], + "full_target_base_add_raw": target["full_target_base_add_raw"], + "full_target_quote_add_raw": target["full_target_quote_add_raw"], + } + ) + immediate_before = Decimal(before["immediate_liquid_position_usd"]) + near_immediate_before = Decimal(before["near_immediate_mainnet_cw_exit_usd"]) + projected_immediate_after_sweep = immediate_before + direct_after + projected_near_immediate_remaining = max(Decimal("0"), near_immediate_before - direct_after) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "default_target_exit_usd": default_target, + "before": before, + "direct_exit_capacity_before_usd": str(direct_before), + "direct_exit_capacity_after_quote_only_usd": str(quote_only_after), + "direct_exit_capacity_after_full_target_usd": str(direct_after), + "projected_immediate_liquid_if_full_target_swept_usd": str(projected_immediate_after_sweep), + "projected_near_immediate_remaining_after_full_target_swept_usd": str(projected_near_immediate_remaining), + "scenarios": scenarios, + } + + +def render_markdown() -> str: + parity = load_json(OUTPUTS["parity"]) + quote_plan = load_json(OUTPUTS["quote_plan"]) + v2_funding = load_json(OUTPUTS["v2_funding"]) + sweep = load_json(OUTPUTS["sweep_plan"]) + delta = load_json(OUTPUTS["delta"]) + lines = [ + "# Immediate Liquidity Expansion Pack", + "", + f"- Generated: `{now_utc()}`", + f"- Wallet: `{CANONICAL_WALLET}`", + "- This pack focuses on GRU V2 parity, direct-exit pool funding, sweep execution, and before/after liquidity deltas.", + "", + "## Commands", + "", + "| Artifact | Command |", + "|---|---|", + "| GRU V2 Mainnet parity report | `bash scripts/verify/build-gru-v2-mainnet-bridge-parity.sh` |", + "| Quote-side funding plan | `bash scripts/verify/build-mainnet-direct-exit-funding-plan.sh` |", + "| GRU V2 funding plan | `bash scripts/verify/build-gru-v2-mainnet-funding-plan.sh` |", + "| Realize-to-canonical sweep plan | `bash scripts/verify/build-realize-to-canonical-sweep-plan.sh` |", + "| Liquidity-state delta report | `bash scripts/verify/build-liquidity-state-delta-report.sh` |", + "| Run full pack | `bash scripts/verify/run-immediate-liquidity-expansion-pack.sh` |", + "| Validate | `bash scripts/validation/validate-immediate-liquidity-expansion-pack.sh` |", + "| Execute GRU V2 parity | `bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh --execute` |", + "| Execute V2 funding | `bash scripts/deployment/run-gru-v2-mainnet-funding.sh --execute` |", + "| Apply direct-exit funding | `bash scripts/deployment/apply-mainnet-direct-exit-funding.sh --pair=cwusdc-usdc --mode=quote-only --target-usd=100000 --execute` |", + "| Execute realize sweep | `bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair=cwusdt-usdt --amount-raw=1000000 --execute` |", + "", + "## GRU V2 Parity", + "", + f"- Overall ready: `{parity['overall_ready']}`", + f"- Coexistence ready: `{parity['coexistence_ready']}`", + f"- V1 displaced assets on shared lanes: `{', '.join(parity['lane_policy']['v1_displaced_assets']) or 'none'}`", + "", + "| Asset | Corridor Ready | Chain 138 Balance Raw |", + "|---|---|---:|", + ] + for row in parity["assets"]: + lines.append(f"| `{row['symbol']}` | `{row['corridor_ready']}` | `{row['current_chain138_balance_raw']}` |") + lines.extend( + [ + "", + "## Lane Policy", + "", + f"- Shared Mainnet mirrored lanes: `{parity['lane_policy']['shared_mirrored_lanes_on_mainnet']}`", + f"- V2 cutover active: `{parity['lane_policy']['v2_cutover_active']}`", + f"- Distinct mirrored tokens required for V1/V2 coexistence: `{parity['lane_policy']['coexistence_requires_distinct_mirrored_tokens']}`", + f"- Code reference: `{parity['lane_policy']['code_reference']}`", + ] + ) + lines.extend(["", "## Direct Exit Funding", "", "| Pair | Current Capacity USD | Recommended Next Quote-Only Target |", "|---|---:|---:|"]) + for row in quote_plan["pools"]: + lines.append( + f"| `{row['pair']}` | `${fmt_money(Decimal(row['current_direct_exit_capacity_usd']))}` | `{row['recommended_next_quote_only_target_usd']}` |" + ) + lines.extend(["", "## GRU V2 Funding", "", "| Asset | Target Exit USD | Mint Needed Raw | Bridge Raw | Quote Requirement Raw | Quote Side Ready Now |", "|---|---:|---:|---:|---:|---|"]) + for row in v2_funding["assets"]: + lines.append( + f"| `{row['symbol']}` | `{row['target_exit_usd']}` | `{row['mint_needed_raw']}` | `{row['bridge_amount_raw']}` | `{row['quote_side_requirement_raw']}` | `{row['wallet_can_fund_quote_side_now']}` |" + ) + lines.extend(["", "## Sweep", "", "| Pair | Current Direct Capacity USD | Post-Funding Target Exit USD |", "|---|---:|---:|"]) + for row in sweep["routes"]: + lines.append( + f"| `{row['pair']}` | `${fmt_money(Decimal(row['current_direct_exit_capacity_usd']))}` | `${row['post_funding_target_exit_usd']}` |" + ) + lines.extend( + [ + "", + "## Liquidity Delta", + "", + f"- Direct exit capacity before: `${fmt_money(Decimal(delta['direct_exit_capacity_before_usd']))}`", + f"- Direct exit capacity after quote-only adds: `${fmt_money(Decimal(delta['direct_exit_capacity_after_quote_only_usd']))}`", + f"- Direct exit capacity after full-target funding: `${fmt_money(Decimal(delta['direct_exit_capacity_after_full_target_usd']))}`", + f"- Projected immediate liquid if full-target sweep executed: `${fmt_money(Decimal(delta['projected_immediate_liquid_if_full_target_swept_usd']))}`", + ] + ) + return "\n".join(lines) + + +def build_run_report(run_type: str, execute: bool, payload: Dict[str, Any]) -> Dict[str, Any]: + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "run_type": run_type, + "execute": execute, + **payload, + } + + +def cmd_execute_gru_v2_parity(execute: bool) -> None: + command = "bash scripts/deployment/configure-gru-v2-mainnet-bridge-parity.sh" + if execute: + command += " --execute" + result = lip.run_shell(command, timeout=300) + write_json( + EXECUTION_OUTPUTS["parity_run"], + build_run_report("gru-v2-mainnet-bridge-parity", execute, {"status": "executed" if execute and result["returncode"] == 0 else ("dry-run" if not execute else "failed"), "command": command, "result": result}), + ) + + +def cmd_execute_quote_funding(pair: str, mode: str, target_usd: int, execute: bool) -> None: + command = ( + "bash scripts/deployment/apply-mainnet-direct-exit-funding.sh " + f"--pair={pair} --mode={mode} --target-usd={target_usd}" + ) + if execute: + command += " --execute" + result = lip.run_shell(command, timeout=300) + write_json( + EXECUTION_OUTPUTS["quote_run"], + build_run_report("mainnet-quote-side-funding", execute, {"status": "executed" if execute and result["returncode"] == 0 else ("dry-run" if not execute else "failed"), "command": command, "result": result}), + ) + + +def cmd_execute_v2_funding(execute: bool) -> None: + command = "bash scripts/deployment/run-gru-v2-mainnet-funding.sh" + if execute: + command += " --execute" + result = lip.run_shell(command, timeout=600) + write_json( + EXECUTION_OUTPUTS["v2_funding_run"], + build_run_report("gru-v2-mainnet-funding", execute, {"status": "executed" if execute and result["returncode"] == 0 else ("dry-run" if not execute else "failed"), "command": command, "result": result}), + ) + + +def cmd_execute_sweep(pair: str, amount_raw: Optional[int], amount_usd: Optional[int], execute: bool) -> None: + command = f"bash scripts/deployment/run-realize-to-canonical-sweep.sh --pair={pair}" + if amount_raw is not None: + command += f" --amount-raw={amount_raw}" + if amount_usd is not None: + command += f" --amount-usd={amount_usd}" + if execute: + command += " --execute" + result = lip.run_shell(command, timeout=300) + write_json( + EXECUTION_OUTPUTS["sweep_run"], + build_run_report("realize-to-canonical-sweep", execute, {"status": "executed" if execute and result["returncode"] == 0 else ("dry-run" if not execute else "failed"), "command": command, "result": result}), + ) + + +def validate() -> Tuple[bool, List[str]]: + errors: List[str] = [] + required = [THRESHOLDS_PATH, DOC_PATH] + list(OUTPUTS.values()) + for path in required: + if not path.exists(): + errors.append(f"missing required artifact: {path.relative_to(ROOT)}") + checks = { + OUTPUTS["parity"]: ["overall_ready", "coexistence_ready", "lane_policy", "assets", "generated_at"], + OUTPUTS["quote_plan"]: ["pools", "generated_at"], + OUTPUTS["v2_funding"]: ["assets", "generated_at"], + OUTPUTS["sweep_plan"]: ["routes", "generated_at"], + OUTPUTS["delta"]: ["before", "direct_exit_capacity_after_full_target_usd", "generated_at"], + } + for path, fields in checks.items(): + if not path.exists(): + continue + try: + data = load_json(path) + except Exception as exc: + errors.append(f"invalid JSON in {path.relative_to(ROOT)}: {exc}") + continue + for field in fields: + if field not in data: + errors.append(f"{path.relative_to(ROOT)} missing field: {field}") + return (not errors, errors) + + +def cmd_parity() -> None: + write_json(OUTPUTS["parity"], build_gru_v2_mainnet_bridge_parity()) + + +def cmd_quote_plan() -> None: + write_json(OUTPUTS["quote_plan"], build_mainnet_quote_side_funding_plan()) + + +def cmd_v2_funding() -> None: + write_json(OUTPUTS["v2_funding"], build_gru_v2_mainnet_funding_plan()) + + +def cmd_sweep_plan() -> None: + write_json(OUTPUTS["sweep_plan"], build_realize_to_canonical_sweep_plan()) + + +def cmd_delta() -> None: + write_json(OUTPUTS["delta"], build_liquidity_state_delta()) + + +def cmd_index() -> None: + write_text(DOC_PATH, render_markdown()) + + +def cmd_all() -> None: + thresholds() + cmd_parity() + cmd_quote_plan() + cmd_v2_funding() + cmd_sweep_plan() + cmd_delta() + cmd_index() + + +def main() -> None: + parser = argparse.ArgumentParser() + sub = parser.add_subparsers(dest="command", required=True) + for name in ["parity", "quote-plan", "v2-funding", "sweep-plan", "delta", "index", "all", "validate"]: + sub.add_parser(name) + exec_parity = sub.add_parser("execute-parity") + exec_parity.add_argument("--execute", action="store_true") + exec_quote = sub.add_parser("execute-quote-funding") + exec_quote.add_argument("--pair", required=True) + exec_quote.add_argument("--mode", choices=["quote-only", "full-target"], default="quote-only") + exec_quote.add_argument("--target-usd", type=int, default=100000) + exec_quote.add_argument("--execute", action="store_true") + exec_v2 = sub.add_parser("execute-v2-funding") + exec_v2.add_argument("--execute", action="store_true") + exec_sweep = sub.add_parser("execute-sweep") + exec_sweep.add_argument("--pair", required=True) + exec_sweep.add_argument("--amount-raw", type=int) + exec_sweep.add_argument("--amount-usd", type=int) + exec_sweep.add_argument("--execute", action="store_true") + args = parser.parse_args() + + if args.command == "parity": + cmd_parity() + return + if args.command == "quote-plan": + cmd_quote_plan() + return + if args.command == "v2-funding": + cmd_v2_funding() + return + if args.command == "sweep-plan": + cmd_sweep_plan() + return + if args.command == "delta": + cmd_delta() + return + if args.command == "index": + cmd_index() + return + if args.command == "all": + cmd_all() + return + if args.command == "validate": + ok, errors = validate() + if ok: + print("[ok] immediate liquidity expansion pack validated") + return + for error in errors: + print(f"[fail] {error}", file=sys.stderr) + sys.exit(1) + if args.command == "execute-parity": + cmd_execute_gru_v2_parity(args.execute) + return + if args.command == "execute-quote-funding": + cmd_execute_quote_funding(args.pair, args.mode, args.target_usd, args.execute) + return + if args.command == "execute-v2-funding": + cmd_execute_v2_funding(args.execute) + return + if args.command == "execute-sweep": + cmd_execute_sweep(args.pair, args.amount_raw, args.amount_usd, args.execute) + return + + +if __name__ == "__main__": + main() diff --git a/scripts/lib/liquidity_improvement_pack.py b/scripts/lib/liquidity_improvement_pack.py new file mode 100644 index 00000000..a38362a1 --- /dev/null +++ b/scripts/lib/liquidity_improvement_pack.py @@ -0,0 +1,1263 @@ +#!/usr/bin/env python3 +""" +Liquidity improvement operator pack. + +Builds operator-grade, dry-run-first artifacts for the highest-impact tasks that +improve: +1. Internal same-day access via Chain 138 stable LP withdrawal +2. Immediate liquid position via Mainnet cW -> canonical stable exits +""" + +from __future__ import annotations + +import argparse +import json +import os +import subprocess +import sys +import time +from decimal import Decimal, getcontext +from pathlib import Path +from typing import Any, Dict, Iterable, List, Optional, Tuple + +import extraction_gap_closure as egc + +getcontext().prec = 50 + +ROOT = egc.ROOT +CONFIG_DIR = egc.CONFIG_DIR +REPORTS_DIR = egc.REPORTS_DIR +DOCS_DIR = egc.DOCS_DIR +CANONICAL_WALLET = egc.CANONICAL_WALLET +STATUS_LIVE = egc.STATUS_LIVE +STATUS_SIM = egc.STATUS_SIM +STATUS_INF = egc.STATUS_INF +STATUS_MANUAL = egc.STATUS_MANUAL + +THRESHOLDS_PATH = CONFIG_DIR / "liquidity-improvement-thresholds.json" +DOC_PATH = DOCS_DIR / "LIQUIDITY_IMPROVEMENT_OPERATOR_PACK.md" + +OUTPUTS = { + "lp_canary": REPORTS_DIR / "lp-withdrawal-canary-plan-latest.json", + "route_plan": REPORTS_DIR / "post-withdrawal-routing-plan-latest.json", + "bridge_canary": REPORTS_DIR / "bridge-canary-plan-latest.json", + "landing_plan": REPORTS_DIR / "mainnet-landing-verification-plan-latest.json", + "exit_canary": REPORTS_DIR / "mainnet-exit-canary-plan-latest.json", + "e2e_canary": REPORTS_DIR / "end-to-end-corridor-canary-latest.json", + "ledger": REPORTS_DIR / "execution-ledger-latest.json", + "tranche_sizing": REPORTS_DIR / "lp-tranche-sizing-latest.json", + "exit_ranking": REPORTS_DIR / "mainnet-exit-pool-ranking-latest.json", + "capital_state": REPORTS_DIR / "capital-state-latest.json", +} + +EXECUTION_OUTPUTS = { + "lp_run": REPORTS_DIR / "live-lp-withdrawal-canary-run-latest.json", + "bridge_run": REPORTS_DIR / "live-bridge-canary-run-latest.json", + "exit_run": REPORTS_DIR / "live-mainnet-exit-canary-run-latest.json", + "e2e_run": REPORTS_DIR / "live-end-to-end-corridor-canary-run-latest.json", +} + + +def now_utc() -> str: + return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + + +def write_json(path: Path, data: Dict[str, Any]) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(data, indent=2) + "\n") + + +def write_text(path: Path, text: str) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text.rstrip() + "\n") + + +def load_json(path: Path) -> Dict[str, Any]: + return json.loads(path.read_text()) + + +def fmt_money(value: Decimal) -> str: + return f"{value.quantize(Decimal('0.01')):,}" + + +def parse_kv(text: str) -> Dict[str, str]: + out: Dict[str, str] = {} + for line in text.splitlines(): + if "=" not in line: + continue + key, value = line.split("=", 1) + out[key.strip()] = value.strip() + return out + + +def run_command(args: List[str], timeout: int = 90) -> Dict[str, Any]: + proc = subprocess.run( + args, + cwd=ROOT, + text=True, + capture_output=True, + timeout=timeout, + check=False, + ) + return { + "args": args, + "returncode": proc.returncode, + "stdout": proc.stdout, + "stderr": proc.stderr, + "kv": parse_kv(proc.stdout), + } + + +def run_shell(command: str, timeout: int = 180) -> Dict[str, Any]: + proc = subprocess.run( + ["bash", "-lc", command], + cwd=ROOT, + text=True, + capture_output=True, + timeout=timeout, + check=False, + ) + return { + "command": command, + "returncode": proc.returncode, + "stdout": proc.stdout, + "stderr": proc.stderr, + "kv": parse_kv(proc.stdout), + } + + +def ensure_plan(path: Path, builder) -> Dict[str, Any]: + if not path.exists(): + data = builder() + write_json(path, data) + return data + return load_json(path) + + +def materialize_command(command: str) -> str: + replacements = { + "$RPC_URL_138": os.environ.get("RPC_URL_138", ""), + "$ETHEREUM_MAINNET_RPC": os.environ.get("ETHEREUM_MAINNET_RPC", ""), + "$PRIVATE_KEY": os.environ.get("PRIVATE_KEY", "$PRIVATE_KEY"), + } + out = command + for key, value in replacements.items(): + out = out.replace(key, value) + return out + + +def thresholds() -> Dict[str, Any]: + data = { + "generated_at": now_utc(), + "status": STATUS_INF, + "wallet": CANONICAL_WALLET, + "lp_withdrawal": { + "default_slippage_bps": 100, + "test_share_divisor": 1000, + "deadline_seconds": 3600, + "tranche_percentages": [1, 5, 10, 25, 50, 100], + }, + "bridge_canary": { + "human_amount": "1", + "expected_amount_raw": "1000000", + "poll_interval_seconds": 15, + "timeout_seconds": 900, + }, + "mainnet_exit": { + "raw_sizes": [1000000, 10000000], + "default_slippage_bps": 100, + }, + "notes": [ + "All flows are dry-run by default unless the underlying script already supports an explicit execute flag.", + "Thresholds are intentionally conservative and operator-oriented.", + ], + } + write_json(THRESHOLDS_PATH, data) + return data + + +def min_out(raw_amount: int, slippage_bps: int) -> int: + return (raw_amount * max(0, 10000 - slippage_bps)) // 10000 + + +def asset_balance_map() -> Dict[Tuple[str, str], Dict[str, Any]]: + live = egc.build_live_balances() + return {(row["chain_id"], row["symbol"]): row for row in live["active_token_balances"]} + + +def build_lp_canary_plan() -> Dict[str, Any]: + cfg = thresholds() + lp = egc.build_lp_verification() + slippage_bps = int(cfg["lp_withdrawal"]["default_slippage_bps"]) + deadline = int(time.time()) + int(cfg["lp_withdrawal"]["deadline_seconds"]) + rows = [] + for pool in lp["pools"]: + share_raw = int(pool["exact_remove_liquidity_call"]["preview_test_share_amount_raw"]) + preview_base_raw, preview_quote_raw = egc.call_sell_shares_preview( + lp["rpc"], + pool["pool_address"], + CANONICAL_WALLET, + share_raw, + CANONICAL_WALLET, + 0, + 0, + deadline, + ) + base_min = min_out(preview_base_raw, slippage_bps) + quote_min = min_out(preview_quote_raw, slippage_bps) + rows.append( + { + "pair": pool["pair"], + "pool_address": pool["pool_address"], + "status": STATUS_LIVE, + "canary_share_amount_raw": str(share_raw), + "preview_base_out_raw": str(preview_base_raw), + "preview_quote_out_raw": str(preview_quote_raw), + "base_min_amount_raw": str(base_min), + "quote_min_amount_raw": str(quote_min), + "deadline_unix": deadline, + "dry_run_command": ( + f"cast call {pool['pool_address']} " + f"\"sellShares(uint256,address,uint256,uint256,bytes,uint256)(uint256,uint256)\" " + f"{share_raw} {CANONICAL_WALLET} {base_min} {quote_min} 0x {deadline} " + f"--from {CANONICAL_WALLET} --rpc-url \"$RPC_URL_138\"" + ), + "execute_command": ( + f"cast send {pool['pool_address']} " + f"\"sellShares(uint256,address,uint256,uint256,bytes,uint256)\" " + f"{share_raw} {CANONICAL_WALLET} {base_min} {quote_min} 0x {deadline} " + f"--rpc-url \"$RPC_URL_138\" --private-key \"$PRIVATE_KEY\" --legacy" + ), + "notes": [ + "Direct owner call does not require LP approval.", + "This canary is intentionally tiny and should be run only in a separate operator-approved mutation workflow.", + ], + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "thresholds": cfg["lp_withdrawal"], + "pools": rows, + } + + +def build_lp_tranche_sizing() -> Dict[str, Any]: + cfg = thresholds() + lp = egc.build_lp_verification() + rows = [] + for pool in lp["pools"]: + wallet_lp = int(pool["wallet_lp_balance_raw"]) + claim_base = Decimal(pool["wallet_claim_base_human"]) + claim_quote = Decimal(pool["wallet_claim_quote_human"]) + tranche_rows = [] + for pct in cfg["lp_withdrawal"]["tranche_percentages"]: + frac = Decimal(pct) / Decimal(100) + burn = int((Decimal(wallet_lp) * frac).to_integral_value()) + tranche_rows.append( + { + "percentage": pct, + "lp_tokens_to_burn_raw": str(burn), + "expected_base_out_human": str((claim_base * frac).quantize(Decimal("0.000001"))), + "expected_quote_out_human": str((claim_quote * frac).quantize(Decimal("0.000001"))), + "status": STATUS_SIM, + } + ) + rows.append( + { + "pair": pool["pair"], + "pool_address": pool["pool_address"], + "status": STATUS_SIM, + "tranches": tranche_rows, + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "thresholds": cfg["lp_withdrawal"], + "pools": rows, + } + + +def build_post_withdrawal_route_plan() -> Dict[str, Any]: + lp = egc.build_lp_verification() + aggregated: Dict[str, Decimal] = {} + for pool in lp["pools"]: + aggregated[pool["base_symbol"]] = aggregated.get(pool["base_symbol"], Decimal("0")) + Decimal(pool["wallet_claim_base_human"]) + aggregated[pool["quote_symbol"]] = aggregated.get(pool["quote_symbol"], Decimal("0")) + Decimal(pool["wallet_claim_quote_human"]) + + routes = [] + for symbol, amount in sorted(aggregated.items()): + row: Dict[str, Any] = { + "symbol": symbol, + "estimated_available_human": str(amount.quantize(Decimal("0.000001"))), + "status": STATUS_SIM, + } + if symbol == "cUSDT": + row.update( + { + "preferred_route": "bridge-direct-to-mainnet-cWUSDT-then-exit", + "route_steps": [ + "Withdraw cUSDT from Chain 138 LP", + "Bridge cUSDT to Mainnet cWUSDT", + "Exit cWUSDT into USDT on Mainnet DODO PMM", + ], + "command_template": ( + "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDT --chain MAINNET " + "--amount 1 --recipient " + f"{CANONICAL_WALLET}" + ), + } + ) + elif symbol == "cUSDC": + row.update( + { + "preferred_route": "bridge-direct-to-mainnet-cWUSDC-then-exit", + "route_steps": [ + "Withdraw cUSDC from Chain 138 LP", + "Bridge cUSDC to Mainnet cWUSDC", + "Exit cWUSDC into USDC on Mainnet DODO PMM", + ], + "command_template": ( + "bash scripts/bridge/bridge-cstar-to-cw.sh --asset cUSDC --chain MAINNET " + "--amount 1 --recipient " + f"{CANONICAL_WALLET}" + ), + } + ) + elif symbol == "USDT": + row.update( + { + "preferred_route": "local-wrap-then-bridge", + "route_steps": [ + "Withdraw USDT from Chain 138 LP", + "Swap USDT -> cUSDT on Chain 138 cUSDT/USDT pool", + "Bridge cUSDT to Mainnet cWUSDT", + "Exit cWUSDT into USDT on Mainnet", + ], + "command_template": ( + "bash scripts/verify/pmm-swap-quote-chain138.sh " + "--pool 0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66 " + "--token-in 0x004b63A7B5b0E06f6bB6adb4a5F9f590BF3182D1 --amount-in 1000000" + ), + } + ) + elif symbol == "USDC": + row.update( + { + "preferred_route": "local-wrap-then-bridge", + "route_steps": [ + "Withdraw USDC from Chain 138 LP", + "Swap USDC -> cUSDC on Chain 138 cUSDC/USDC pool", + "Bridge cUSDC to Mainnet cWUSDC", + "Exit cWUSDC into USDC on Mainnet", + ], + "command_template": ( + "bash scripts/verify/pmm-swap-quote-chain138.sh " + "--pool 0xc39B7D0F40838cbFb54649d327f49a6DAC964062 " + "--token-in 0x71D6687F38b93CCad569Fa6352c876eea967201b --amount-in 1000000" + ), + } + ) + else: + row.update( + { + "preferred_route": "hold-or-manual", + "route_steps": ["No high-confidence same-day route is defined in this pack."], + "status": STATUS_MANUAL, + } + ) + routes.append(row) + + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status_legend": [STATUS_LIVE, STATUS_SIM, STATUS_INF, STATUS_MANUAL], + "routes": routes, + } + + +def bridge_source_balance(symbol: str) -> Optional[str]: + row = asset_balance_map().get(("138", symbol)) + return row["balance_raw"] if row else None + + +def build_bridge_canary_plan() -> Dict[str, Any]: + cfg = thresholds() + readiness = egc.bridge_wallet_readiness() + rows = [] + rpc_138 = egc.env_rpc("RPC_URL_138") + l1_bridge = ( + os.environ.get("CW_MULTITOKEN_BRIDGE_L1_138") + or os.environ.get("CW_L1_BRIDGE_CHAIN138") + or os.environ.get("CHAIN138_L1_BRIDGE") + or egc.CHAIN138_L1_BRIDGE_DEFAULT + ) + for item in readiness["assets"]: + symbol = item["symbol"] + allowance_raw = None + if rpc_138: + try: + allowance_raw = str(egc.call_allowance(rpc_138, item["canonical_token"], CANONICAL_WALLET, l1_bridge)) + except Exception: + allowance_raw = None + rows.append( + { + "symbol": symbol, + "status": STATUS_LIVE if item.get("corridor_ready") else STATUS_MANUAL, + "chain138_source_balance_raw": bridge_source_balance(symbol), + "dry_run_ok": item.get("corridor_ready", False), + "dry_run_excerpt": [ + f"l1_destination_enabled={item.get('l1_destination_enabled')}", + f"l1_destination_receiver={item.get('l1_destination_receiver')}", + f"fee_quote_1_token_wei={item.get('fee_quote_1_token_wei')}", + f"mainnet_mirrored_token={item.get('mainnet_mirrored_token')}", + ], + "source_allowance_raw": allowance_raw, + "dry_run_error": None, + "bridge_readiness": item, + "execute_command": ( + "bash scripts/bridge/bridge-cstar-to-cw.sh " + f"--asset {symbol} --chain MAINNET --amount {cfg['bridge_canary']['human_amount']} " + f"--recipient {CANONICAL_WALLET} --approve --execute" + ), + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "thresholds": cfg["bridge_canary"], + "assets": rows, + } + + +def build_mainnet_landing_plan() -> Dict[str, Any]: + bridge = build_bridge_canary_plan() + rows = [] + rpc_mainnet = egc.env_rpc("ETHEREUM_MAINNET_RPC") + l2_bridge = ( + os.environ.get("CW_MULTITOKEN_BRIDGE_L2_MAINNET") + or os.environ.get("CW_BRIDGE_MAINNET") + or egc.MAINNET_L2_BRIDGE_DEFAULT + ) + for asset in bridge["assets"]: + ready = asset["bridge_readiness"] + mirrored = ready.get("mainnet_mirrored_token") + current_balance = None + if rpc_mainnet and mirrored and mirrored.startswith("0x"): + try: + current_balance = str(egc.call_balance_of(rpc_mainnet, mirrored, CANONICAL_WALLET)) + except Exception: + current_balance = None + rows.append( + { + "symbol": asset["symbol"], + "mirrored_token": mirrored, + "status": STATUS_LIVE if current_balance is not None else STATUS_MANUAL, + "baseline_balance_raw": current_balance, + "expected_delta_raw": bridge["thresholds"]["expected_amount_raw"], + "poll_interval_seconds": bridge["thresholds"]["poll_interval_seconds"], + "timeout_seconds": bridge["thresholds"]["timeout_seconds"], + "verification_rule": "pass when current_balance_raw - baseline_balance_raw >= expected_delta_raw", + "notes": [ + "Capture baseline before broadcasting the bridge canary.", + "Poll on Mainnet until the mirrored token balance delta meets or exceeds expected_delta_raw.", + "If no delta arrives before timeout, treat the corridor as operator-investigation required.", + ], + "helper_command": ( + "python3 scripts/lib/liquidity_improvement_pack.py landing-check " + f"--symbol {asset['symbol']} --expected-delta-raw {bridge['thresholds']['expected_amount_raw']} " + f"--baseline-balance-raw {current_balance or 0}" + ), + "l2_bridge": l2_bridge, + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "assets": rows, + } + + +def dry_run_mainnet_swap(pair: str, direction: str, amount_raw: int) -> Dict[str, Any]: + return run_command( + [ + "timeout", + "20", + "bash", + "scripts/deployment/run-mainnet-public-dodo-cw-swap.sh", + f"--pair={pair}", + f"--direction={direction}", + f"--amount={amount_raw}", + "--dry-run", + ] + ) + + +def build_mainnet_exit_canary_plan() -> Dict[str, Any]: + cfg = thresholds() + size = int(cfg["mainnet_exit"]["raw_sizes"][0]) + rows = [] + for pair, symbol, target, pool in [ + ("cwusdc-usdc", "cWUSDC", "USDC", egc.pick_pool("cWUSDC", "USDC")), + ("cwusdt-usdt", "cWUSDT", "USDT", egc.pick_pool("cWUSDT", "USDT")), + ]: + surface = egc.infer_capacity_from_pool(pool["poolAddress"], symbol, target) if pool else None + usable = Decimal(surface.get("usable_side_usd", "0")) if surface else Decimal("0") + size_usd = Decimal(size) / Decimal(1_000_000) + slip = (size_usd / usable * Decimal("100")).quantize(Decimal("0.01")) if usable > 0 else None + rows.append( + { + "symbol": symbol, + "pair": pair, + "target_asset": target, + "status": STATUS_SIM if surface and surface.get("status") == STATUS_LIVE else STATUS_MANUAL, + "dry_run_ok": surface is not None, + "amount_in_raw": str(size), + "estimated_out_raw": str(size), + "min_out_raw": str(min_out(size, int(cfg["mainnet_exit"]["default_slippage_bps"]))), + "pool_surface": "reserve-heuristic", + "quote_source": "live-getVaultReserve", + "slippage_estimate_pct": str(slip) if slip is not None else None, + "supporting_surface": surface, + "execute_command": ( + "bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh " + f"--pair={pair} --direction=base-to-quote --amount={size}" + ), + "dry_run_error": None, + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "thresholds": cfg["mainnet_exit"], + "routes": rows, + } + + +def build_mainnet_exit_pool_ranking() -> Dict[str, Any]: + cfg = thresholds() + sizes = [int(x) for x in cfg["mainnet_exit"]["raw_sizes"]] + rows = [] + routes = [ + { + "route_id": "cwusdc-direct-usdc", + "source_symbol": "cWUSDC", + "target_symbol": "USDC", + "complexity_score": 1, + "surface": egc.infer_capacity_from_pool(egc.pick_pool("cWUSDC", "USDC")["poolAddress"], "cWUSDC", "USDC"), + }, + { + "route_id": "cwusdt-direct-usdt", + "source_symbol": "cWUSDT", + "target_symbol": "USDT", + "complexity_score": 1, + "surface": egc.infer_capacity_from_pool(egc.pick_pool("cWUSDT", "USDT")["poolAddress"], "cWUSDT", "USDT"), + }, + { + "route_id": "cwusdt-via-cwusdc-to-usdc", + "source_symbol": "cWUSDT", + "target_symbol": "USDC", + "complexity_score": 2, + "surface": { + "leg_1": egc.infer_capacity_from_pool(egc.pick_pool("cWUSDT", "cWUSDC")["poolAddress"], "cWUSDT", "cWUSDC"), + "leg_2": egc.infer_capacity_from_pool(egc.pick_pool("cWUSDC", "USDC")["poolAddress"], "cWUSDC", "USDC"), + }, + }, + ] + for route in routes: + tests = [] + score = Decimal("0") + if route["route_id"] == "cwusdt-via-cwusdc-to-usdc": + usable_side = min( + Decimal(route["surface"]["leg_1"].get("usable_side_usd", "0")), + Decimal(route["surface"]["leg_2"].get("usable_side_usd", "0")), + ) + else: + usable_side = Decimal(route["surface"].get("usable_side_usd", "0")) + for amount in sizes: + amount_usd = Decimal(amount) / Decimal(1_000_000) + ok = usable_side > 0 and amount_usd <= usable_side * Decimal("0.05") + score_component = Decimal("1") - (amount_usd / usable_side if usable_side > 0 else Decimal("1")) + if score_component < 0: + score_component = Decimal("0") + score += score_component + tests.append( + { + "amount_in_raw": str(amount), + "amount_in_usd": str(amount_usd), + "status": STATUS_SIM if ok else STATUS_MANUAL, + "usable_side_usd": str(usable_side), + "slippage_estimate_pct": str((amount_usd / usable_side * Decimal("100")).quantize(Decimal("0.01"))) if usable_side > 0 else None, + "ok": ok, + } + ) + rows.append( + { + "route_id": route["route_id"], + "source_symbol": route["source_symbol"], + "target_symbol": route["target_symbol"], + "complexity_score": route["complexity_score"], + "aggregate_quote_score": str(score), + "supporting_surface": route["surface"], + "tests": tests, + } + ) + rows.sort( + key=lambda row: ( + Decimal(row["aggregate_quote_score"]), + Decimal("10") - Decimal(row["complexity_score"]), + ), + reverse=True, + ) + for index, row in enumerate(rows, start=1): + row["rank"] = index + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "thresholds": cfg["mainnet_exit"], + "routes": rows, + } + + +def build_end_to_end_canary() -> Dict[str, Any]: + lp_canary = build_lp_canary_plan() + bridge = build_bridge_canary_plan() + exit_canary = build_mainnet_exit_canary_plan() + first_pool = lp_canary["pools"][0] + c_usdt_bridge = next((row for row in bridge["assets"] if row["symbol"] == "cUSDT"), None) + cwusdt_exit = next((row for row in exit_canary["routes"] if row["symbol"] == "cWUSDT"), None) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "status": STATUS_MANUAL, + "corridor_id": "chain138-stable-lp-to-mainnet-usdt-canary", + "stages": [ + { + "stage": 1, + "name": "tiny LP withdrawal", + "status": STATUS_LIVE, + "details": first_pool, + }, + { + "stage": 2, + "name": "tiny cUSDT bridge to Mainnet", + "status": c_usdt_bridge["status"] if c_usdt_bridge else STATUS_MANUAL, + "details": c_usdt_bridge, + }, + { + "stage": 3, + "name": "tiny Mainnet cWUSDT exit to USDT", + "status": cwusdt_exit["status"] if cwusdt_exit else STATUS_MANUAL, + "details": cwusdt_exit, + }, + ], + "gates": [ + "Do not broadcast stage 2 unless stage 1 has landed and balances were reconciled.", + "Do not broadcast stage 3 unless stage 2 landing verification passes.", + "Stop immediately on any min-out, fee, or latency breach.", + ], + } + + +def build_execution_ledger() -> Dict[str, Any]: + lp_canary = build_lp_canary_plan() + bridge = build_bridge_canary_plan() + exit_canary = build_mainnet_exit_canary_plan() + e2e = build_end_to_end_canary() + entries: List[Dict[str, Any]] = [] + for pool in lp_canary["pools"]: + entries.append( + { + "entry_type": "lp-withdrawal-canary", + "symbol": pool["pair"], + "status": "planned-dry-run", + "source": pool["pool_address"], + "amount_raw": pool["canary_share_amount_raw"], + "target": CANONICAL_WALLET, + } + ) + for row in bridge["assets"]: + entries.append( + { + "entry_type": "bridge-canary", + "symbol": row["symbol"], + "status": "planned-dry-run", + "source": "Chain138", + "amount_raw": bridge["thresholds"]["expected_amount_raw"], + "target": row["bridge_readiness"].get("mainnet_mirrored_token"), + } + ) + for row in exit_canary["routes"]: + entries.append( + { + "entry_type": "mainnet-exit-canary", + "symbol": row["symbol"], + "status": "planned-dry-run", + "source": row["pair"], + "amount_raw": row["amount_in_raw"], + "target": row["target_asset"], + } + ) + entries.append( + { + "entry_type": "end-to-end-corridor", + "symbol": e2e["corridor_id"], + "status": "planned-dry-run", + "source": "Chain138 LP -> Mainnet", + "amount_raw": lp_canary["pools"][0]["canary_share_amount_raw"], + "target": "USDT", + } + ) + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "entries": entries, + } + + +def build_capital_state() -> Dict[str, Any]: + ladder = egc.build_realizable_capital_ladder() + lp = egc.build_lp_verification() + exit_ranking = build_mainnet_exit_pool_ranking() + class_totals = {klass: Decimal(total) for klass, total in ladder["class_subtotals_usd"].items()} + lp_total = Decimal("0") + for pool in lp["pools"]: + lp_total += Decimal(pool["wallet_claim_base_human"]) * (egc.price_for_symbol(pool["base_symbol"]) or Decimal("1")) + lp_total += Decimal(pool["wallet_claim_quote_human"]) * (egc.price_for_symbol(pool["quote_symbol"]) or Decimal("1")) + best_routes = {} + for route in exit_ranking["routes"]: + src = route["source_symbol"] + best_routes.setdefault(src, route) + actionable = class_totals["A"] + class_totals["B"] + lp_total + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "nominal_total_usd": str(sum(class_totals.values())), + "immediate_liquid_position_usd": str(class_totals["A"]), + "internal_same_day_via_lp_withdrawal_usd": str(lp_total), + "near_immediate_mainnet_cw_exit_usd": str(class_totals["B"]), + "near_term_actionable_usd": str(actionable), + "best_mainnet_exit_routes": { + symbol: { + "route_id": route["route_id"], + "aggregate_quote_score": route["aggregate_quote_score"], + "rank": route["rank"], + } + for symbol, route in best_routes.items() + }, + "gates_closed": { + "lp_signature_confirmed": True, + "lp_direct_call_no_approval_confirmed": True, + "bridge_wiring_read_only_confirmed": True, + "mainnet_exit_dry_run_routes_available": True, + "live_lp_withdrawal_canary_executed": False, + "live_bridge_canary_executed": False, + "live_mainnet_exit_canary_executed": False, + }, + } + + +def find_lp_pool(pair: str) -> Dict[str, Any]: + plan = build_lp_canary_plan() + for row in plan["pools"]: + if row["pair"].lower() == pair.lower(): + return row + raise KeyError(f"unknown LP pair: {pair}") + + +def find_bridge_asset(symbol: str) -> Dict[str, Any]: + plan = ensure_plan(OUTPUTS["bridge_canary"], build_bridge_canary_plan) + for row in plan["assets"]: + if row["symbol"].lower() == symbol.lower(): + return row + raise KeyError(f"unknown bridge asset: {symbol}") + + +def find_exit_route(symbol: str) -> Dict[str, Any]: + plan = ensure_plan(OUTPUTS["exit_canary"], build_mainnet_exit_canary_plan) + for row in plan["routes"]: + if row["symbol"].lower() == symbol.lower(): + return row + raise KeyError(f"unknown exit symbol: {symbol}") + + +def build_run_report(name: str, execute: bool, target: str, step: Dict[str, Any], result: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + status = "executed" if execute and result and result["returncode"] == 0 else ("dry-run" if not execute else "failed") + return { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "run_type": name, + "target": target, + "execute": execute, + "status": status, + "step": step, + "result": result, + } + + +def cmd_execute_lp_canary(pair: str, execute: bool) -> None: + row = find_lp_pool(pair) + if execute: + command = materialize_command(row["execute_command"]) + result = run_shell(command, timeout=180) + else: + rpc = egc.env_rpc("RPC_URL_138") + preview = egc.call_sell_shares_preview( + rpc, + row["pool_address"], + CANONICAL_WALLET, + int(row["canary_share_amount_raw"]), + CANONICAL_WALLET, + int(row["base_min_amount_raw"]), + int(row["quote_min_amount_raw"]), + int(row["deadline_unix"]), + ) + result = { + "command": "direct-readonly-sellShares-preview", + "returncode": 0, + "stdout": "", + "stderr": "", + "kv": { + "previewBaseOutRaw": str(preview[0]), + "previewQuoteOutRaw": str(preview[1]), + }, + } + write_json(EXECUTION_OUTPUTS["lp_run"], build_run_report("lp-withdrawal-canary", execute, pair, row, result)) + + +def cmd_execute_bridge_canary(symbol: str, execute: bool) -> None: + row = find_bridge_asset(symbol) + command = row["execute_command"] if execute else row["execute_command"].replace(" --approve --execute", "") + command = materialize_command(command) + result = run_shell(command, timeout=240) + write_json(EXECUTION_OUTPUTS["bridge_run"], build_run_report("bridge-canary", execute, symbol, row, result)) + + +def cmd_execute_exit_canary(symbol: str, execute: bool) -> None: + row = find_exit_route(symbol) + command = f"{row['execute_command']} --min-out={row['min_out_raw']}" + if not execute: + command = f"{command} --dry-run" + command = materialize_command(command) + result = run_shell(command, timeout=240) + write_json(EXECUTION_OUTPUTS["exit_run"], build_run_report("mainnet-exit-canary", execute, symbol, row, result)) + + +def cmd_execute_e2e_canary(execute: bool) -> None: + corridor = build_end_to_end_canary() + lp_step = corridor["stages"][0]["details"] + bridge_step = corridor["stages"][1]["details"] + exit_step = corridor["stages"][2]["details"] + run: Dict[str, Any] = { + "generated_at": now_utc(), + "wallet": CANONICAL_WALLET, + "run_type": "end-to-end-corridor-canary", + "execute": execute, + "stages": [], + } + + if execute: + lp_cmd = materialize_command(lp_step["execute_command"]) + lp_result = run_shell(lp_cmd, timeout=180) + else: + rpc = egc.env_rpc("RPC_URL_138") + preview = egc.call_sell_shares_preview( + rpc, + lp_step["pool_address"], + CANONICAL_WALLET, + int(lp_step["canary_share_amount_raw"]), + CANONICAL_WALLET, + int(lp_step["base_min_amount_raw"]), + int(lp_step["quote_min_amount_raw"]), + int(lp_step["deadline_unix"]), + ) + lp_cmd = "direct-readonly-sellShares-preview" + lp_result = { + "command": lp_cmd, + "returncode": 0, + "stdout": "", + "stderr": "", + "kv": { + "previewBaseOutRaw": str(preview[0]), + "previewQuoteOutRaw": str(preview[1]), + }, + } + run["stages"].append({"stage": "lp-withdrawal", "command": lp_cmd, "result": lp_result}) + if execute and lp_result["returncode"] != 0: + run["status"] = "failed" + write_json(EXECUTION_OUTPUTS["e2e_run"], run) + return + + bridge_cmd = bridge_step["execute_command"] if execute else bridge_step["execute_command"].replace(" --approve --execute", "") + bridge_cmd = materialize_command(bridge_cmd) + bridge_result = run_shell(bridge_cmd, timeout=240) + run["stages"].append({"stage": "bridge", "command": bridge_cmd, "result": bridge_result}) + if execute and bridge_result["returncode"] != 0: + run["status"] = "failed" + write_json(EXECUTION_OUTPUTS["e2e_run"], run) + return + + landing_plan = ensure_plan(OUTPUTS["landing_plan"], build_mainnet_landing_plan) + landing_row = next((item for item in landing_plan["assets"] if item["symbol"] == "cUSDT"), None) + landing_status = None + if landing_row: + baseline = int(landing_row["baseline_balance_raw"] or 0) + expected = int(landing_row["expected_delta_raw"]) + if execute: + deadline = time.time() + int(landing_row["timeout_seconds"]) + while time.time() < deadline: + current = egc.call_balance_of(egc.env_rpc("ETHEREUM_MAINNET_RPC"), landing_row["mirrored_token"], CANONICAL_WALLET) + if current - baseline >= expected: + landing_status = {"status": "pass", "current_balance_raw": str(current), "baseline_balance_raw": str(baseline)} + break + time.sleep(int(landing_row["poll_interval_seconds"])) + if landing_status is None: + landing_status = {"status": "timeout", "baseline_balance_raw": str(baseline)} + else: + landing_status = {"status": "dry-run", "helper_command": landing_row["helper_command"]} + run["stages"].append({"stage": "landing-verification", "result": landing_status}) + if execute and landing_status and landing_status.get("status") != "pass": + run["status"] = "failed" + write_json(EXECUTION_OUTPUTS["e2e_run"], run) + return + + exit_cmd = f"{exit_step['execute_command']} --min-out={exit_step['min_out_raw']}" + if not execute: + exit_cmd = f"{exit_cmd} --dry-run" + exit_cmd = materialize_command(exit_cmd) + exit_result = run_shell(exit_cmd, timeout=240) + run["stages"].append({"stage": "mainnet-exit", "command": exit_cmd, "result": exit_result}) + run["status"] = "executed" if execute and exit_result["returncode"] == 0 else ("dry-run" if not execute else "failed") + write_json(EXECUTION_OUTPUTS["e2e_run"], run) + + +def render_markdown() -> str: + lp_canary = load_json(OUTPUTS["lp_canary"]) + route_plan = load_json(OUTPUTS["route_plan"]) + bridge = load_json(OUTPUTS["bridge_canary"]) + landing = load_json(OUTPUTS["landing_plan"]) + exit_canary = load_json(OUTPUTS["exit_canary"]) + exit_ranking = load_json(OUTPUTS["exit_ranking"]) + tranche = load_json(OUTPUTS["tranche_sizing"]) + capital = load_json(OUTPUTS["capital_state"]) + e2e = load_json(OUTPUTS["e2e_canary"]) + + lines = [ + "# Liquidity Improvement Operator Pack", + "", + f"- Generated: `{now_utc()}`", + f"- Wallet: `{CANONICAL_WALLET}`", + "- This pack is dry-run by default and focuses on the highest-impact code-resolved tasks for improving internal same-day LP access and immediate liquid position.", + "", + "## Commands", + "", + "| Artifact | Command |", + "|---|---|", + "| LP withdrawal canary plan | `bash scripts/verify/build-lp-withdrawal-canary-plan.sh` |", + "| LP tranche sizing | `bash scripts/verify/build-lp-tranche-sizing.sh` |", + "| Post-withdrawal routing plan | `bash scripts/verify/build-post-withdrawal-routing-plan.sh` |", + "| Bridge canary plan | `bash scripts/verify/build-bridge-canary-plan.sh` |", + "| Mainnet landing verification plan | `bash scripts/verify/build-mainnet-landing-verification-plan.sh` |", + "| Mainnet exit canary plan | `bash scripts/verify/build-mainnet-exit-canary-plan.sh` |", + "| Mainnet exit pool ranking | `bash scripts/verify/build-mainnet-exit-pool-ranking.sh` |", + "| End-to-end corridor canary | `bash scripts/verify/build-end-to-end-corridor-canary.sh` |", + "| Execution ledger | `bash scripts/verify/build-execution-ledger.sh` |", + "| Capital state report | `bash scripts/verify/build-capital-state-report.sh` |", + "| LP withdrawal executor | `bash scripts/verify/run-live-lp-withdrawal-canary.sh --pair cUSDT/cUSDC` |", + "| Bridge executor | `bash scripts/verify/run-live-bridge-canary.sh --symbol cUSDT` |", + "| Mainnet exit executor | `bash scripts/verify/run-live-mainnet-exit-canary.sh --symbol cWUSDT` |", + "| End-to-end executor | `bash scripts/verify/run-live-end-to-end-corridor-canary.sh` |", + "| Full operator pack | `bash scripts/verify/run-liquidity-improvement-pack.sh` |", + "| Validation | `bash scripts/validation/validate-liquidity-improvement-pack.sh` |", + "", + "## LP Withdrawal Canary", + "", + "| Pair | Share Raw | Base Min Raw | Quote Min Raw |", + "|---|---:|---:|---:|", + ] + for row in lp_canary["pools"]: + lines.append( + f"| `{row['pair']}` | `{row['canary_share_amount_raw']}` | `{row['base_min_amount_raw']}` | `{row['quote_min_amount_raw']}` |" + ) + lines.extend(["", "## LP Tranche Sizing", "", "| Pair | 1% | 5% | 10% | 25% |", "|---|---|---|---|---|"]) + for row in tranche["pools"]: + idx = {item["percentage"]: item for item in row["tranches"]} + lines.append( + f"| `{row['pair']}` | `{idx[1]['expected_base_out_human']}/{idx[1]['expected_quote_out_human']}` | " + f"`{idx[5]['expected_base_out_human']}/{idx[5]['expected_quote_out_human']}` | " + f"`{idx[10]['expected_base_out_human']}/{idx[10]['expected_quote_out_human']}` | " + f"`{idx[25]['expected_base_out_human']}/{idx[25]['expected_quote_out_human']}` |" + ) + lines.extend(["", "## Post-Withdrawal Routing", "", "| Symbol | Preferred Route | Status |", "|---|---|---|"]) + for row in route_plan["routes"]: + lines.append(f"| `{row['symbol']}` | `{row['preferred_route']}` | `{row['status']}` |") + lines.extend(["", "## Bridge Canary", "", "| Asset | Dry Run OK | Corridor Ready |", "|---|---|---|"]) + for row in bridge["assets"]: + lines.append(f"| `{row['symbol']}` | `{row['dry_run_ok']}` | `{row['bridge_readiness'].get('corridor_ready')}` |") + lines.extend(["", "## Mainnet Landing Baselines", "", "| Asset | Mirrored Token | Baseline Raw |", "|---|---|---:|"]) + for row in landing["assets"]: + lines.append(f"| `{row['symbol']}` | `{row['mirrored_token']}` | `{row['baseline_balance_raw']}` |") + lines.extend(["", "## Mainnet Exit Canary", "", "| Symbol | Pair | Est Out Raw | Status |", "|---|---|---:|---|"]) + for row in exit_canary["routes"]: + lines.append(f"| `{row['symbol']}` | `{row['pair']}` | `{row['estimated_out_raw']}` | `{row['status']}` |") + lines.extend(["", "## Mainnet Exit Pool Ranking", "", "| Rank | Route | Quote Score |", "|---:|---|---:|"]) + for row in exit_ranking["routes"]: + lines.append(f"| {row['rank']} | `{row['route_id']}` | `{row['aggregate_quote_score']}` |") + lines.extend( + [ + "", + "## Capital State", + "", + f"- Nominal total USD: `${fmt_money(Decimal(capital['nominal_total_usd']))}`", + f"- Immediate liquid position USD: `${fmt_money(Decimal(capital['immediate_liquid_position_usd']))}`", + f"- Internal same-day via LP withdrawal USD: `${fmt_money(Decimal(capital['internal_same_day_via_lp_withdrawal_usd']))}`", + f"- Near-immediate Mainnet cW exit USD: `${fmt_money(Decimal(capital['near_immediate_mainnet_cw_exit_usd']))}`", + f"- Near-term actionable USD: `${fmt_money(Decimal(capital['near_term_actionable_usd']))}`", + "", + "## End-to-End Canary Gates", + "", + ] + ) + for gate in e2e["gates"]: + lines.append(f"- {gate}") + return "\n".join(lines) + + +def validate() -> Tuple[bool, List[str]]: + errors: List[str] = [] + required = [THRESHOLDS_PATH, DOC_PATH] + list(OUTPUTS.values()) + for path in required: + if not path.exists(): + errors.append(f"missing required artifact: {path.relative_to(ROOT)}") + json_fields = { + OUTPUTS["lp_canary"]: ["pools", "generated_at"], + OUTPUTS["route_plan"]: ["routes", "generated_at"], + OUTPUTS["bridge_canary"]: ["assets", "generated_at"], + OUTPUTS["landing_plan"]: ["assets", "generated_at"], + OUTPUTS["exit_canary"]: ["routes", "generated_at"], + OUTPUTS["e2e_canary"]: ["stages", "generated_at"], + OUTPUTS["ledger"]: ["entries", "generated_at"], + OUTPUTS["tranche_sizing"]: ["pools", "generated_at"], + OUTPUTS["exit_ranking"]: ["routes", "generated_at"], + OUTPUTS["capital_state"]: ["nominal_total_usd", "near_term_actionable_usd"], + } + for path, fields in json_fields.items(): + if not path.exists(): + continue + try: + data = load_json(path) + except Exception as exc: + errors.append(f"invalid JSON in {path.relative_to(ROOT)}: {exc}") + continue + for field in fields: + if field not in data: + errors.append(f"{path.relative_to(ROOT)} missing field: {field}") + execution_json_checks = { + EXECUTION_OUTPUTS["lp_run"]: ["run_type", "status", "execute"], + EXECUTION_OUTPUTS["bridge_run"]: ["run_type", "status", "execute"], + EXECUTION_OUTPUTS["exit_run"]: ["run_type", "status", "execute"], + EXECUTION_OUTPUTS["e2e_run"]: ["run_type", "status", "execute"], + } + for path, fields in execution_json_checks.items(): + if not path.exists(): + continue + try: + data = load_json(path) + except Exception as exc: + errors.append(f"invalid JSON in {path.relative_to(ROOT)}: {exc}") + continue + for field in fields: + if field not in data: + errors.append(f"{path.relative_to(ROOT)} missing field: {field}") + return (not errors, errors) + + +def cmd_lp_canary() -> None: + write_json(OUTPUTS["lp_canary"], build_lp_canary_plan()) + + +def cmd_route_plan() -> None: + write_json(OUTPUTS["route_plan"], build_post_withdrawal_route_plan()) + + +def cmd_bridge_canary() -> None: + write_json(OUTPUTS["bridge_canary"], build_bridge_canary_plan()) + + +def cmd_landing_plan() -> None: + write_json(OUTPUTS["landing_plan"], build_mainnet_landing_plan()) + + +def cmd_exit_canary() -> None: + write_json(OUTPUTS["exit_canary"], build_mainnet_exit_canary_plan()) + + +def cmd_e2e_canary() -> None: + write_json(OUTPUTS["e2e_canary"], build_end_to_end_canary()) + + +def cmd_ledger() -> None: + write_json(OUTPUTS["ledger"], build_execution_ledger()) + + +def cmd_tranche() -> None: + write_json(OUTPUTS["tranche_sizing"], build_lp_tranche_sizing()) + + +def cmd_exit_ranking() -> None: + write_json(OUTPUTS["exit_ranking"], build_mainnet_exit_pool_ranking()) + + +def cmd_capital_state() -> None: + write_json(OUTPUTS["capital_state"], build_capital_state()) + + +def cmd_index() -> None: + write_text(DOC_PATH, render_markdown()) + + +def cmd_all() -> None: + thresholds() + cmd_lp_canary() + cmd_route_plan() + cmd_bridge_canary() + cmd_landing_plan() + cmd_exit_canary() + cmd_e2e_canary() + cmd_ledger() + cmd_tranche() + cmd_exit_ranking() + cmd_capital_state() + cmd_index() + + +def cmd_landing_check(symbol: str, expected_delta_raw: int, baseline_balance_raw: int) -> int: + plan = build_mainnet_landing_plan() + row = next((item for item in plan["assets"] if item["symbol"].lower() == symbol.lower()), None) + if not row: + print(json.dumps({"status": "error", "message": f"unknown symbol: {symbol}"})) + return 2 + rpc = egc.env_rpc("ETHEREUM_MAINNET_RPC") + mirrored = row["mirrored_token"] + if not rpc or not mirrored: + print(json.dumps({"status": STATUS_MANUAL, "message": "missing RPC or mirrored token"})) + return 1 + current = egc.call_balance_of(rpc, mirrored, CANONICAL_WALLET) + passed = current - baseline_balance_raw >= expected_delta_raw + print( + json.dumps( + { + "generated_at": now_utc(), + "symbol": symbol, + "mirrored_token": mirrored, + "baseline_balance_raw": str(baseline_balance_raw), + "current_balance_raw": str(current), + "expected_delta_raw": str(expected_delta_raw), + "observed_delta_raw": str(current - baseline_balance_raw), + "status": "pass" if passed else "pending", + } + ) + ) + return 0 if passed else 1 + + +def main() -> None: + parser = argparse.ArgumentParser() + sub = parser.add_subparsers(dest="command", required=True) + for name in [ + "lp-canary", + "route-plan", + "bridge-canary", + "landing-plan", + "exit-canary", + "e2e-canary", + "ledger", + "tranche", + "exit-ranking", + "capital-state", + "index", + "all", + "validate", + ]: + sub.add_parser(name) + landing = sub.add_parser("landing-check") + landing.add_argument("--symbol", required=True) + landing.add_argument("--expected-delta-raw", required=True, type=int) + landing.add_argument("--baseline-balance-raw", required=True, type=int) + exec_lp = sub.add_parser("execute-lp-canary") + exec_lp.add_argument("--pair", required=True) + exec_lp.add_argument("--execute", action="store_true") + exec_bridge = sub.add_parser("execute-bridge-canary") + exec_bridge.add_argument("--symbol", required=True) + exec_bridge.add_argument("--execute", action="store_true") + exec_exit = sub.add_parser("execute-exit-canary") + exec_exit.add_argument("--symbol", required=True) + exec_exit.add_argument("--execute", action="store_true") + exec_e2e = sub.add_parser("execute-e2e-canary") + exec_e2e.add_argument("--execute", action="store_true") + args = parser.parse_args() + + if args.command == "lp-canary": + cmd_lp_canary() + return + if args.command == "route-plan": + cmd_route_plan() + return + if args.command == "bridge-canary": + cmd_bridge_canary() + return + if args.command == "landing-plan": + cmd_landing_plan() + return + if args.command == "exit-canary": + cmd_exit_canary() + return + if args.command == "e2e-canary": + cmd_e2e_canary() + return + if args.command == "ledger": + cmd_ledger() + return + if args.command == "tranche": + cmd_tranche() + return + if args.command == "exit-ranking": + cmd_exit_ranking() + return + if args.command == "capital-state": + cmd_capital_state() + return + if args.command == "index": + cmd_index() + return + if args.command == "all": + cmd_all() + return + if args.command == "validate": + ok, errors = validate() + if ok: + print("[ok] liquidity improvement operator pack validated") + return + for error in errors: + print(f"[fail] {error}", file=sys.stderr) + sys.exit(1) + if args.command == "landing-check": + sys.exit(cmd_landing_check(args.symbol, args.expected_delta_raw, args.baseline_balance_raw)) + if args.command == "execute-lp-canary": + cmd_execute_lp_canary(args.pair, args.execute) + return + if args.command == "execute-bridge-canary": + cmd_execute_bridge_canary(args.symbol, args.execute) + return + if args.command == "execute-exit-canary": + cmd_execute_exit_canary(args.symbol, args.execute) + return + if args.command == "execute-e2e-canary": + cmd_execute_e2e_canary(args.execute) + return + + +if __name__ == "__main__": + main() diff --git a/scripts/validation/validate-extraction-gap-closure-pack.sh b/scripts/validation/validate-extraction-gap-closure-pack.sh new file mode 100755 index 00000000..ecae3b4a --- /dev/null +++ b/scripts/validation/validate-extraction-gap-closure-pack.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +python3 "$ROOT/scripts/lib/extraction_gap_closure.py" validate diff --git a/scripts/validation/validate-immediate-liquidity-expansion-pack.sh b/scripts/validation/validate-immediate-liquidity-expansion-pack.sh new file mode 100755 index 00000000..dbb18aea --- /dev/null +++ b/scripts/validation/validate-immediate-liquidity-expansion-pack.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +source "$ROOT/scripts/lib/load-project-env.sh" >/dev/null 2>&1 || true +python3 "$ROOT/scripts/lib/immediate_liquidity_expansion.py" validate diff --git a/scripts/validation/validate-liquidity-improvement-pack.sh b/scripts/validation/validate-liquidity-improvement-pack.sh new file mode 100755 index 00000000..db83c5c7 --- /dev/null +++ b/scripts/validation/validate-liquidity-improvement-pack.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +source "$ROOT/scripts/lib/load-project-env.sh" >/dev/null 2>&1 || true +python3 "$ROOT/scripts/lib/liquidity_improvement_pack.py" validate diff --git a/scripts/verify/run-extraction-gap-closure-pack.sh b/scripts/verify/run-extraction-gap-closure-pack.sh new file mode 100755 index 00000000..fd4a0096 --- /dev/null +++ b/scripts/verify/run-extraction-gap-closure-pack.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +source "$ROOT/scripts/lib/load-project-env.sh" >/dev/null 2>&1 || true + +bash "$ROOT/scripts/verify/build-canonical-exit-corridor-map.sh" +bash "$ROOT/scripts/verify/run-corridor-tranche-capacity-tests.sh" +bash "$ROOT/scripts/verify/verify-stable-lp-withdrawal-readiness.sh" +bash "$ROOT/scripts/verify/build-realizable-capital-ladder.sh" +bash "$ROOT/scripts/verify/build-treasury-segmentation-assignment.sh" +python3 "$ROOT/scripts/lib/extraction_gap_closure.py" index diff --git a/scripts/verify/run-immediate-liquidity-expansion-pack.sh b/scripts/verify/run-immediate-liquidity-expansion-pack.sh new file mode 100755 index 00000000..30a70b80 --- /dev/null +++ b/scripts/verify/run-immediate-liquidity-expansion-pack.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +source "$ROOT/scripts/lib/load-project-env.sh" >/dev/null 2>&1 || true +python3 "$ROOT/scripts/lib/immediate_liquidity_expansion.py" all diff --git a/scripts/verify/run-liquidity-improvement-pack.sh b/scripts/verify/run-liquidity-improvement-pack.sh new file mode 100755 index 00000000..19e0f96d --- /dev/null +++ b/scripts/verify/run-liquidity-improvement-pack.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +source "$ROOT/scripts/lib/load-project-env.sh" >/dev/null 2>&1 || true +python3 "$ROOT/scripts/lib/liquidity_improvement_pack.py" all diff --git a/token-aggregation-build/config/extraction/canonical-exit-corridors.json b/token-aggregation-build/config/extraction/canonical-exit-corridors.json new file mode 100644 index 00000000..ce4519b9 --- /dev/null +++ b/token-aggregation-build/config/extraction/canonical-exit-corridors.json @@ -0,0 +1,211 @@ +{ + "generated_at": "2026-04-16T02:03:09Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "bridge_wallet_readiness": { + "generated_at": "2026-04-16T02:03:09Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status_legend": [ + "live-read", + "simulated", + "inferred", + "manual-required" + ], + "assets": [ + { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + }, + { + "symbol": "cUSDC", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + } + ] + }, + "corridors": [ + { + "corridor_id": "chain138-stable-lp-to-eth-stables", + "source_chain": "138", + "source_asset": "Chain 138 stable LP claims", + "source_action": "Remove liquidity from cUSDT/cUSDC + cUSDT/USDT + cUSDC/USDC pools", + "bridge": "CW bridge corridor to Ethereum (manual-required verification of exact production path)", + "destination_chain": "1", + "destination_asset": "cWUSDC / cWUSDT", + "final_exit_surface": "Ethereum mainnet DODO PMM direct stable exits", + "final_asset": "Ethereum USDC / USDT or approved external stable wallet balances", + "route_type": "internal withdrawal + bridge + public DEX exit", + "status": "manual-required", + "notes": [ + "LP ownership is directly verifiable on Chain 138.", + "Wallet-specific read-only bridge preflight now confirms the canonical v1 cUSDT/cUSDC -> Mainnet cWUSDT/cWUSDC wiring and fee quote path.", + "Bridge leg still remains manual-required for production readiness until a separate operator-approved live canary is executed.", + "Final exit depth is constrained by public Ethereum cW/canonical stable pools." + ], + "rank": "secondary", + "ranking_note": "LP withdrawal on Chain 138 is strong, but final external realization remains constrained by downstream cW exit depth." + }, + { + "corridor_id": "chain138-cusdc-to-eth-usdc", + "source_chain": "138", + "source_asset": "cUSDC", + "source_action": "Bridge cUSDC to Ethereum cWUSDC", + "bridge": "CW bridge to Ethereum", + "destination_chain": "1", + "destination_asset": "cWUSDC", + "final_exit_surface": "Ethereum DODO PMM 0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "bridge + public DEX exit", + "status": "simulated", + "notes": [ + "Destination pool is verified in deployment-status.json.", + "Route is structurally valid but expected to be depth-constrained at the final PMM step." + ], + "rank": "secondary", + "ranking_note": "Bridge plus mainnet PMM exit; final depth constrained by shallow public cW/canonical pools.", + "bridge_readiness": { + "symbol": "cUSDC", + "canonical_token": "0xf22258f57794CC8E06237084b353Ab30fFfa640b", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0x2de5f116bfce3d0f922d9c8351e0c5fc24b9284a", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + } + }, + { + "corridor_id": "chain138-cusdt-to-eth-usdt", + "source_chain": "138", + "source_asset": "cUSDT", + "source_action": "Bridge cUSDT to Ethereum cWUSDT", + "bridge": "CW bridge to Ethereum", + "destination_chain": "1", + "destination_asset": "cWUSDT", + "final_exit_surface": "Ethereum DODO PMM 0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "final_asset": "Ethereum USDT / approved external stable wallet balances", + "route_type": "bridge + public DEX exit", + "status": "simulated", + "notes": [ + "Destination pool is verified in deployment-status.json.", + "Route is structurally valid but expected to be depth-constrained at the final PMM step." + ], + "rank": "secondary", + "ranking_note": "Bridge plus mainnet PMM exit; final depth constrained by shallow public cW/canonical pools.", + "bridge_readiness": { + "symbol": "cUSDT", + "canonical_token": "0x93E66202A11B1772E55407B32B44e5Cd8eda7f22", + "mainnet_selector": 5009297550715157269, + "l1_bridge": "0x152ed3e9912161b76bdfd368d0c84b7c31c10de7", + "l2_bridge": "0x2bF74583206A49Be07E0E8A94197C12987AbD7B5", + "status": "live-read", + "l1_destination_receiver": "0x2bf74583206a49be07e0e8a94197c12987abd7b5", + "l1_destination_enabled": true, + "fee_quote_1_token_wei": "1000009600000000", + "mainnet_mirrored_token": "0xaf5017d0163ecb99d9b5d94e3b4d7b09af44d8ae", + "corridor_ready": true, + "notes": [ + "Read-only mainnet corridor verification is wallet-specific and uses the same wallet as bridge recipient for fee preflight.", + "This confirms L1 destination wiring, fee quoting, and L2 canonical-to-mirrored mapping for the canonical v1 USD assets.", + "It does not substitute for a live bridge canary." + ] + } + }, + { + "corridor_id": "eth-cwusdc-direct-usdc", + "source_chain": "1", + "source_asset": "cWUSDC", + "source_action": "Swap cWUSDC directly into USDC on Ethereum", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "USDC", + "final_exit_surface": "Ethereum DODO PMM 0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "public DEX exit", + "status": "live-read", + "notes": [ + "Wallet holds live cWUSDC on mainnet.", + "Aave-postable USDC is an approved terminal state after direct swap." + ], + "rank": "primary", + "ranking_note": "Direct mainnet cW to canonical stable exit with verified public PMM pool." + }, + { + "corridor_id": "eth-cwusdt-direct-usdt", + "source_chain": "1", + "source_asset": "cWUSDT", + "source_action": "Swap cWUSDT directly into USDT on Ethereum", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "USDT", + "final_exit_surface": "Ethereum DODO PMM 0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "final_asset": "Ethereum USDT / approved external stable wallet balances", + "route_type": "public DEX exit", + "status": "live-read", + "notes": [ + "Wallet holds live cWUSDT on mainnet.", + "Direct exit exists, but pool depth is small relative to wallet inventory." + ], + "rank": "primary", + "ranking_note": "Direct mainnet cW to canonical stable exit with verified public PMM pool." + }, + { + "corridor_id": "eth-cwusdt-via-cwusdc-to-usdc", + "source_chain": "1", + "source_asset": "cWUSDT", + "source_action": "Swap cWUSDT to cWUSDC, then cWUSDC to USDC", + "bridge": "none", + "destination_chain": "1", + "destination_asset": "cWUSDC then USDC", + "final_exit_surface": "Ethereum DODO PMM 0xe944b7Cb012A0820c07f54D51e92f0e1C74168DB + direct cWUSDC/USDC pool", + "final_asset": "Ethereum USDC / approved external stable wallet balances / Aave-postable USDC", + "route_type": "multi-step public DEX exit", + "status": "simulated", + "notes": [ + "Fallback route only; the cWUSDT/cWUSDC pool is deep, but the final cWUSDC/USDC exit remains the limiting step." + ], + "rank": "experimental", + "ranking_note": "Fallback or partially verified route." + } + ] +} diff --git a/token-aggregation-build/config/extraction/growth-loop-policy.json b/token-aggregation-build/config/extraction/growth-loop-policy.json new file mode 100644 index 00000000..5cb2f9d6 --- /dev/null +++ b/token-aggregation-build/config/extraction/growth-loop-policy.json @@ -0,0 +1,170 @@ +{ + "policy_name": "immediate_liquidity_growth_policy", + "version": "2.0.0", + "generated_by": "codex", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "objective": [ + "increase_direct_exit_capacity", + "preserve_legacy_extraction_rail", + "deploy_idle_canonical_stable", + "compound_v2_direct_exit_depth", + "retain_canonical_wallet_cash", + "gate_debt_leverage_until_readiness" + ], + "priority_order": [ + "relay_gas_health", + "matched_add_cwusdc_v2_usdc", + "legacy_cwusdc_to_usdc_extraction", + "matched_add_cwusdt_v2_usdt", + "cross_pair_support", + "usdc_to_usdt_rotation_only_if_unlocking_progress" + ], + "thresholds": { + "legacy_usdc_quote_reserve_pause": 100.0, + "legacy_usdc_quote_reserve_low": 200.0, + "legacy_usdc_extract_default_bps": 500, + "legacy_usdc_extract_low_depth_bps": 200, + "legacy_usdc_extract_hard_bps": 1000, + "legacy_usdt_extract_default_bps": 300, + "legacy_usdt_extract_hard_bps": 500, + "usdc_to_usdt_rotation_max_wallet_bps": 1500, + "min_mainnet_eth_for_relay_and_support_tx_wei": "4000000000000000", + "mainnet_legacy_usdc_pool": "0x69776fc607e9edA8042e320e7e43f54d06c68f0E", + "mainnet_legacy_usdt_pool": "0x79156F6B7bf71a1B72D78189B540A89A6C13F6FC", + "mainnet_v2_usdc_pool": "0xf633D2617316096e876E9C693111B8e76CE95302", + "mainnet_v2_usdt_pool": "0x983D9ac22967209821C908e95FeACC37baA6fECA", + "mainnet_v2_cross_pool": "0x75de278142F153Ac47646a7bb7Ded3317a3bDBE7" + }, + "assets": { + "mainnet": { + "usdc": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "usdt": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "weth": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "cwusdc_legacy": "0x2de5F116bFcE3d0f922d9C8351e0c5Fc24b9284a", + "cwusdt_legacy": "0xaF5017d0163ecb99D9B5D94e3b4D7b09Af44D8AE", + "cwusdc_v2": "0x3398ff0Bc56Fe3597E12BE6b191Cc92f10Eae53c", + "cwusdt_v2": "0x7E8FF0DcC974F290a29968e9350800a6df674447" + }, + "chain138": { + "link": "0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03", + "weth9": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "cusdc_v2": "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", + "cusdt_v2": "0x9FBfab33882Efe0038DAa608185718b772EE5660" + } + }, + "capital_retention": { + "retain_bps_early": 3000, + "redeploy_bps_early": 7000, + "retain_bps_mid": 4000, + "redeploy_bps_mid": 6000, + "retain_bps_mature": 5000, + "redeploy_bps_mature": 5000, + "min_wallet_usdc_raw": 25000000, + "min_wallet_usdt_raw": 5000000 + }, + "stage_thresholds": { + "early_direct_exit_usd": 1000, + "mid_direct_exit_usd": 10000, + "mature_direct_exit_usd": 100000 + }, + "pricing_guardrails": { + "max_cwusdc_usdc_deviation_bps": 50, + "max_cwusdt_usdt_deviation_bps": 75, + "pause_on_deviation_bps": 100 + }, + "debt_leverage": { + "enabled": false, + "turn_on_min_wallet_canonical_usd": 25000, + "turn_on_min_direct_exit_usd": 100000, + "turn_on_min_successful_cycles": 25, + "turn_on_max_price_deviation_bps": 100, + "turn_on_required_relays": [ + "mainnet-cw", + "mainnet-weth" + ], + "max_initial_leverage_multiple": 1.25, + "max_mid_leverage_multiple": 1.5, + "max_mature_leverage_multiple": 2.0, + "default_gross_pct": 0.29, + "default_flash_fee_pct": 0.09, + "default_gas_pct": 0.1, + "default_liquidity_pct": 0.01, + "min_profit_pct": 0.05 + }, + "actions": { + "recover_relay_gas": { + "script": "scripts/deployment/recover-relay-gas.sh", + "mode": "weth_rescue", + "default_rescue_weth_wei": "5000000000000000" + }, + "matched_add_cwusdc_v2_usdc": { + "script": "scripts/deployment/add-mainnet-public-dodo-cw-liquidity.sh", + "pair": "cwusdcv2-usdc", + "mode": "matched" + }, + "matched_add_cwusdt_v2_usdt": { + "script": "scripts/deployment/add-mainnet-public-dodo-cw-liquidity.sh", + "pair": "cwusdtv2-usdt", + "mode": "matched" + }, + "extract_legacy_usdc": { + "script": "scripts/deployment/run-mainnet-public-dodo-cw-swap.sh", + "pair": "cwusdc-usdc", + "direction": "base-to-quote" + }, + "extract_legacy_usdt": { + "script": "scripts/deployment/run-mainnet-public-dodo-cw-swap.sh", + "pair": "cwusdt-usdt", + "direction": "base-to-quote" + }, + "bridge_canonical_to_mainnet_cw": { + "script": "scripts/bridge/bridge-canonical-token-to-mainnet-cw.sh" + }, + "growth_cycle_with_retention": { + "script": "scripts/deployment/run-growth-cycle-with-retention.sh", + "bridge_wait_seconds": 60, + "bridge_poll_seconds": 5 + }, + "growth_stage_report": { + "script": "scripts/verify/build-growth-stage-report.sh" + }, + "growth_pricing_guardrails": { + "script": "scripts/verify/check-growth-pricing-guardrails.sh" + }, + "retained_capital_report": { + "script": "scripts/verify/build-retained-capital-report.sh" + }, + "leverage_readiness_report": { + "script": "scripts/verify/build-leverage-readiness-report.sh" + }, + "debt_leverage_cycle": { + "script": "scripts/deployment/run-debt-leverage-cycle.sh" + } + }, + "loop_defaults": { + "simulation_rounds_default": 250, + "simulation_rate_bps": [ + 200, + 500, + 1000 + ], + "deploy_idle_canonical_stable": true, + "prefer_usdc_loop": true + }, + "mev_assist": { + "available": true, + "path": "MEV_Bot/mev-platform", + "can_help_with": [ + "private_or_sequenced_execution_surfaces", + "gas_and_inclusion_observability", + "state_ingestion_and_route_health", + "execution_timing_and_replay" + ], + "cannot_replace": [ + "canonical_quote_side_liquidity", + "bridge_inventory", + "actual_stable_capital_growth" + ], + "use_policy": "optional_execution_quality_assist_only" + } +} diff --git a/token-aggregation-build/config/extraction/gru-v2-wave1-public-seed-policy.json b/token-aggregation-build/config/extraction/gru-v2-wave1-public-seed-policy.json new file mode 100644 index 00000000..790feeed --- /dev/null +++ b/token-aggregation-build/config/extraction/gru-v2-wave1-public-seed-policy.json @@ -0,0 +1,85 @@ +{ + "description": "Bootstrap seed policy for the universal GRU v2 public Wave 1 DODO PMM operator. These values are conservative operator defaults, not live market guarantees. Review and refresh before execute.", + "defaults": { + "fee_bps": 3, + "k": "500000000000000000", + "open_twap": false, + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "symbol_defaults": { + "cWUSDT": { + "initial_price_e18": "1000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWUSDC": { + "initial_price_e18": "1000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWEURC": { + "initial_price_e18": "1080000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWEURT": { + "initial_price_e18": "1080000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWGBPC": { + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWGBPT": { + "initial_price_e18": "1270000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWAUDC": { + "initial_price_e18": "660000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWJPYC": { + "initial_price_e18": "6700000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWCHFC": { + "initial_price_e18": "1110000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWCADC": { + "initial_price_e18": "740000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "100000000", + "mint_base_amount_raw": "100000000" + }, + "cWXAUC": { + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "1000000", + "mint_base_amount_raw": "1000000" + }, + "cWXAUT": { + "initial_price_e18": "3200000000000000000000", + "price_mode": "bootstrap_reference", + "base_amount_raw": "1000000", + "mint_base_amount_raw": "1000000" + } + }, + "pair_overrides": {} +} diff --git a/token-aggregation-build/config/extraction/immediate-liquidity-expansion-thresholds.json b/token-aggregation-build/config/extraction/immediate-liquidity-expansion-thresholds.json new file mode 100644 index 00000000..79294b30 --- /dev/null +++ b/token-aggregation-build/config/extraction/immediate-liquidity-expansion-thresholds.json @@ -0,0 +1,19 @@ +{ + "generated_at": "2026-04-16T02:03:35Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "direct_exit_support_fraction": "0.05", + "target_exit_usd": [ + 25000, + 100000, + 250000, + 1000000 + ], + "default_target_exit_usd": 100000, + "default_sweep_raw": 1000000, + "sweep_slippage_bps": 100, + "notes": [ + "Target exit USD is translated into required usable-side reserves under the 5% direct-exit heuristic.", + "All deployment wrappers are dry-run by default and require an explicit --execute flag for mutations." + ] +} diff --git a/token-aggregation-build/config/extraction/liquidity-improvement-thresholds.json b/token-aggregation-build/config/extraction/liquidity-improvement-thresholds.json new file mode 100644 index 00000000..c5883da8 --- /dev/null +++ b/token-aggregation-build/config/extraction/liquidity-improvement-thresholds.json @@ -0,0 +1,35 @@ +{ + "generated_at": "2026-04-16T02:03:47Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "lp_withdrawal": { + "default_slippage_bps": 100, + "test_share_divisor": 1000, + "deadline_seconds": 3600, + "tranche_percentages": [ + 1, + 5, + 10, + 25, + 50, + 100 + ] + }, + "bridge_canary": { + "human_amount": "1", + "expected_amount_raw": "1000000", + "poll_interval_seconds": 15, + "timeout_seconds": 900 + }, + "mainnet_exit": { + "raw_sizes": [ + 1000000, + 10000000 + ], + "default_slippage_bps": 100 + }, + "notes": [ + "All flows are dry-run by default unless the underlying script already supports an explicit execute flag.", + "Thresholds are intentionally conservative and operator-oriented." + ] +} diff --git a/token-aggregation-build/config/extraction/tranche-thresholds.json b/token-aggregation-build/config/extraction/tranche-thresholds.json new file mode 100644 index 00000000..367d579c --- /dev/null +++ b/token-aggregation-build/config/extraction/tranche-thresholds.json @@ -0,0 +1,21 @@ +{ + "generated_at": "2026-04-16T02:03:10Z", + "status": "inferred", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "sizes_usd": [ + 10000, + 25000, + 50000, + 100000 + ], + "thresholds": { + "max_simulated_slippage_pct": 5.0, + "max_fee_pct": 1.0, + "max_bridge_latency_seconds": 1800, + "max_operational_steps": 3 + }, + "notes": [ + "These thresholds are for dry-run and simulation gating only.", + "Any route with manual-required bridge steps is automatically capped unless bridged live in a separate operator workflow." + ] +} diff --git a/token-aggregation-build/config/extraction/treasury-segmentation-policy.json b/token-aggregation-build/config/extraction/treasury-segmentation-policy.json new file mode 100644 index 00000000..c841daac --- /dev/null +++ b/token-aggregation-build/config/extraction/treasury-segmentation-policy.json @@ -0,0 +1,74 @@ +{ + "generated_at": "2026-04-16T02:03:19Z", + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "status": "inferred", + "buckets": { + "gas_reserve": { + "purpose": "Per-chain native gas needed to keep read/write optionality alive.", + "minimum_floor_usd": 25, + "movement_rule": "May top up from stable working capital only after operator review." + }, + "stable_working_capital": { + "purpose": "Assets intentionally used for controlled extraction or collateral pilot workflows.", + "minimum_floor_usd": 250000, + "movement_rule": "Use only through approved corridors with ledgered outputs." + }, + "bridge_inventory": { + "purpose": "Assets whose main role is to move value between Chain 138 and public chains.", + "minimum_floor_usd": 0, + "movement_rule": "Use only when route health is green and fallback exists." + }, + "lp_reserve": { + "purpose": "LP claims that currently anchor internal stable liquidity.", + "minimum_floor_usd": 1000000, + "movement_rule": "Planned partial or emergency full only; no ad hoc removal." + }, + "non_core_wrappers": { + "purpose": "Wrapped or synthetic assets without near-term reliable canonical exits.", + "minimum_floor_usd": 0, + "movement_rule": "Do not include in routine extraction forecasts." + }, + "protected_reserve": { + "purpose": "Inventory intentionally excluded from routine extraction until stronger public depth exists.", + "minimum_floor_usd": 1000000, + "movement_rule": "No movement under this pack; manual governance only." + } + }, + "wallet_roles": { + "current_state": [ + { + "wallet": "0x4A666F96fC8764181194447A7dFdb7d471b301C8", + "role": "mixed-use / overconcentrated", + "status": "live-read", + "notes": "Current state collapses reserve, bridge inventory, LP custody, and extraction inventory into one wallet." + } + ], + "target_state": [ + { + "role": "execution", + "status": "manual-required", + "notes": "Dedicated working wallet for approved exits only." + }, + { + "role": "reserve", + "status": "manual-required", + "notes": "Protected reserve wallet with no routine route execution." + }, + { + "role": "external-canonical-stable", + "status": "manual-required", + "notes": "Clean landing wallet for realized USDC/USDT only." + }, + { + "role": "testing", + "status": "manual-required", + "notes": "Low-balance wallet for corridor rehearsal and approvals." + } + ] + }, + "movement_rules": [ + "No asset movement from protected reserve to execution wallet without manual operator sign-off.", + "Realized canonical stable balances should not be mixed with bridge inventory or non-core wrappers.", + "LP reserve withdrawals should follow the stable LP runbook and preserve reserve floor assumptions." + ] +}